<SEC-DOCUMENT>0001140361-24-013040.txt : 20240313
<SEC-HEADER>0001140361-24-013040.hdr.sgml : 20240313
<ACCEPTANCE-DATETIME>20240313170525
ACCESSION NUMBER:		0001140361-24-013040
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		95
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240313
DATE AS OF CHANGE:		20240313

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TRANSACT TECHNOLOGIES INC
		CENTRAL INDEX KEY:			0001017303
		STANDARD INDUSTRIAL CLASSIFICATION:	COMPUTER PERIPHERAL EQUIPMENT, NEC [3577]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				061456680
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		ONE HAMDEN CENTER
		STREET 2:		2319 WHITNEY AVENUE, SUITE 3B
		CITY:			HAMDEN
		STATE:			CT
		ZIP:			06518
		BUSINESS PHONE:		203-859-6800

	MAIL ADDRESS:	
		STREET 1:		ONE HAMDEN CENTER
		STREET 2:		2319 WHITNEY AVENUE, SUITE 3B
		CITY:			HAMDEN
		STATE:			CT
		ZIP:			06518
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>ef20015290_10k.htm
<DESCRIPTION>FORM 10K FOR THE YEAR ENDED DECEMBER 31, 2023
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:srt="http://fasb.org/srt/2023" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:cef="http://xbrl.sec.gov/cef/2023" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:tact="http://transact-tech.com/20231231" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title></title>
    <!-- Licensed to: Summit Financial
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
    <meta http-equiv="Content-Type" content="text/html"/>
</head>

<body style="background-color: #ffffff; color: #000000;">
<div id="DSPFiXBRLHidden" style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:AmendmentFlag" id="Fact_541b0204900743f8bc868d11a47e82a7" contextRef="c20230101to20231231" format="ixt:fixed-false">false</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" id="Fact_762eb90c49db4589bd937d8dc55b812d" contextRef="c20230101to20231231" format="ixt:date-month-day">12-31</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalYearFocus" id="Fact_3cd0f30cd8dd48d4a088a218b9c9ae75" contextRef="c20230101to20231231">2023</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" id="Fact_4fa2c0bdc6d14ee5b7781a5ff095ba0b" contextRef="c20230101to20231231">FY</ix:nonNumeric><ix:nonNumeric name="dei:EntityCentralIndexKey" id="Fact_da45de16188f4736bac9d4d7dcb032d1" contextRef="c20230101to20231231">0001017303</ix:nonNumeric><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_fa4f9810fdc440e7a6f07a14288bd412" contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260101Member" unitRef="U001" xsi:nil="true"></ix:nonFraction><ix:nonNumeric name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Fact_3b3b217b82f14d0981e1911a0e683e9c" contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250101Member">P12M</ix:nonNumeric><ix:nonNumeric name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Fact_bc0b117592ec4ae9a3df5220e7dbe1c8" contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260101Member">P12M</ix:nonNumeric><ix:nonNumeric name="dei:AuditorFirmId" id="Fact_e5aada421f434f84805d5f71261bf5ca" contextRef="c20230101to20231231">688</ix:nonNumeric><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_d8bb3ca2c1cc4c1da765250cf40e88ae" contextRef="c20231231" unitRef="U001" xsi:nil="true"></ix:nonFraction><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_c72e1b0883654e65a6261fa0e7aa434c" contextRef="c20221231" unitRef="U001" xsi:nil="true"></ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:href="tact-20231231.xsd" xlink:type="simple"/></ix:references><ix:resources><xbrli:context id="c20230101to20231231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20230630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240229"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</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="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231001to20231231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember><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="c20220426to20220426_PropertyPlantAndEquipmentByTypeAxis_FacilityInLasVegasNevadaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FacilityInLasVegasNevadaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-26</xbrli:startDate><xbrli:endDate>2022-04-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20231231_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</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="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</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="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</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="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</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="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</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="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember><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="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</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="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</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="c20230101to20231231_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</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="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</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="c20220101to20221231_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</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="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</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="c20230101to20231231_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</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="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</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="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</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="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</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="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</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="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember><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="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</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="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</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="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250101Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain xmlns:us-gaap="http://fasb.org/us-gaap/2023">2025-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260101Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain xmlns:us-gaap="http://fasb.org/us-gaap/2023">2026-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240101Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain xmlns:us-gaap="http://fasb.org/us-gaap/2023">2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TheBrightGroupMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:TheBrightGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TheBrightGroupMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:TheBrightGroupMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</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="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</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="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><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="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20231231_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</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="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</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="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember><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="c20230101to20231231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</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="c20220101to20221231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</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="c20220101to20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</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="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</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="c20231231_IncomeTaxAuthorityAxis_DomesticCountryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_TaxCreditCarryforwardAxis_ResearchMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</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="c20230101to20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</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="c20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</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="c20220101to20221231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</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="c20050101to20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2005-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</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="c20230101to20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</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="c20220101to20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</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="c20220101to20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</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="c20220401to20220630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230401to20230630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220101to20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220701to20220930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-07-01</xbrli:startDate><xbrli:endDate>2022-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230701to20230930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-01</xbrli:startDate><xbrli:endDate>2023-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20221001to20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20220101to20221231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tact:TheOneGroupHospitalityIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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="c20230101to20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tact:TheOneGroupHospitalityIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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="c20221231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tact:TheOneGroupHospitalityIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tact:TheOneGroupHospitalityIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="U001"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="U002"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U003"><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="U004"><xbrli:measure>tact:Segment</xbrli:measure></xbrli:unit><xbrli:unit id="U005"><xbrli:measure>tact:Solution</xbrli:measure></xbrli:unit><xbrli:unit id="U006"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="U007"><xbrli:measure>tact:Plan</xbrli:measure></xbrli:unit><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_fad0c556cf5042e4b75196fd21a8669a" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_93bd76dcbd614e47a8964e9d97839cf1" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_02b5def163b84a429cc557c62b9e969e" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_d6cdddb9785d467d91882a103c9731d1" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_0a674bb3a8d84a07b3b140408e135934" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_72baa35d008d403ab3802974b4dfb21b" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_68918c595b9546dd8b7ee89524ee2c58" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_7da67e0fdc4f4416990d4f3a3b740abf" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_58e707c45fd543948cb01964e8775315" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_cba63fe248ca49f99baba4cc7796d1aa" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_5fc82a9bb9054b9ba940bab36fd33ae5" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_6a3560b0ebaa4e579a2b9eae7f681730" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_aa335ec88d4748928cc6d03b6b2bc4e9" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_43c14488eea84beb979729a6a9d2ae66" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_70d014c4d26a44bf9e3975e4a7a520e6" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_99abf1a8c10d40528a4910072e315749" toRefs="Foot_ed18f58ee254452faf20859044f9d9f9" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_7de00f619f8e474aa10d9a9f4fc97810" toRefs="Foot_ed18f58ee254452faf20859044f9d9f9" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_f3cf1b4ba784456295d8021a47307be1" toRefs="Foot_ed18f58ee254452faf20859044f9d9f9" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship></ix:resources></ix:header></div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div class="BRPFPageHeader"></div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 14pt; font-weight: bold;">UNITED STATES</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 14pt; font-weight: bold;">SECURITIES AND EXCHANGE COMMISSION</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 12pt; font-weight: bold;">Washington, D.C. 20549</div>

    <div style="text-align: justify;"><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 12pt; font-weight: bold;"><span style="font-size: 18pt; font-family: 'Times New Roman';">FORM <ix:nonNumeric name="dei:DocumentType" id="Fact_8db5c915d45a4b5cb241eefc4a86c1c1" contextRef="c20230101to20231231">10-K</ix:nonNumeric></span></div>

    <div><br/>
    </div>

    <div style="text-align: left; text-indent: -18pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(Mark One)</div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: #000000; font-family: 'Segoe UI Symbol'; font-size: 10pt;"><ix:nonNumeric name="dei:DocumentAnnualReport" id="Fact_97c5e188225e47eb8231b8c01b9c9277" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric></td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">For the fiscal year ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" id="Fact_cd7acbb46ca44186b89a34232659aa60" contextRef="c20230101to20231231" format="ixt:date-monthname-day-year-en">December 31, 2023</ix:nonNumeric></div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">or</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: #000000; font-family: 'Segoe UI Symbol'; font-size: 10pt;"><ix:nonNumeric name="dei:DocumentTransitionReport" id="Fact_985830481a97403fa5c21b08ea7ba07f" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">For the transition period from __________ to __________</div>

    <div><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">Commission file number:</span>&#160;<ix:nonNumeric name="dei:EntityFileNumber" id="Fact_bca1b625a95d492b9787e46c7a430177" contextRef="c20230101to20231231">0-21121</ix:nonNumeric></div>

    <div><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 1pt;"><img width="353" height="87" src="image01.jpg" alt="graphic"/></div>

    <div style="text-align: center; color: #FFFFFF; font-family: 'Times New Roman'; font-size: 1pt;"><ix:nonNumeric name="dei:EntityRegistrantName" id="Fact_09ce28d5b73844729c5efd702a599923" contextRef="c20230101to20231231">TRANSACT TECHNOLOGIES INC</ix:nonNumeric></div>

    <div><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(Exact name of registrant as specified in its charter)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 48.4%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" id="Fact_c6d3e46ed58c42d593076bab124a0c6d" contextRef="c20230101to20231231" format="ixt-sec:stateprovnameen">Delaware</ix:nonNumeric></div>
          </td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" id="Fact_9677c34288ed4fe6ba9072333b1043b8" contextRef="c20230101to20231231">06-1456680</ix:nonNumeric></div>
          </td>

  </tr>

  <tr>

    <td style="width: 48.4%; vertical-align: top;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">(State or other jurisdiction of incorporation or organization)</div>
          </td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: top;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">(I.R.S. Employer Identification No.)</div>
          </td>

  </tr>

  <tr>

    <td style="width: 48.4%; vertical-align: top;">&#160;</td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: bottom;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 48.4%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" id="Fact_885b077f34b04eb3a464b9c736020482" contextRef="c20230101to20231231">One Hamden Center</ix:nonNumeric>,
              <ix:nonNumeric name="dei:EntityAddressAddressLine2" id="Fact_3b171fddf8ca4a50a8e10ac05a638e19" contextRef="c20230101to20231231">2319 Whitney Avenue, Suite 3B</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" id="Fact_ddb69909b1fc4a7cbde06c956a214457" contextRef="c20230101to20231231">Hamden</ix:nonNumeric>,
              <ix:nonNumeric name="dei:EntityAddressStateOrProvince" id="Fact_c2fe262a3d114ab9b291201a455c654d" contextRef="c20230101to20231231">CT</ix:nonNumeric></div>
          </td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: bottom; border-bottom: #000000 2px solid;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressPostalZipCode" id="Fact_3a3d2db3ee2746978ac3e910e6fc77e5" contextRef="c20230101to20231231">06518</ix:nonNumeric></div>
          </td>

  </tr>

  <tr>

    <td style="width: 48.4%; vertical-align: top;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">(Address of principal executive offices)</div>
          </td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: top;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">(Zip Code)</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 100%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonNumeric name="dei:CityAreaCode" id="Fact_aa7e28ef2c664c1aa9e1d17f2b51e246" contextRef="c20230101to20231231">203</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" id="Fact_f4b050f076e3445b9de2740a48fd0554" contextRef="c20230101to20231231">859-6800</ix:nonNumeric></div>
          </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(Registrant&#8217;s Telephone Number, Including Area Code)</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; color: #231F20; font-family: 'Times New Roman'; font-size: 10pt;">Securities registered pursuant to Section 12(b) of the Act:</div>

    <div><br/>
    </div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 35.97%; vertical-align: middle; border-bottom: #000000 2px solid;">
            <div style="text-align: center; color: #231F20; font-family: 'Times New Roman'; font-size: 10pt;">Title of each class</div>
          </td>

    <td style="width: 2.64%; vertical-align: middle;">&#160;</td>

    <td style="width: 22.22%; vertical-align: middle; border-bottom: #000000 2px solid;">
            <div style="text-align: center; color: #231F20; font-family: 'Times New Roman'; font-size: 10pt;">Trading Symbol(s)</div>
          </td>

    <td style="width: 1.81%; vertical-align: middle;">&#160;</td>

    <td style="width: 37.36%; vertical-align: middle; border-bottom: #000000 2px solid;">
            <div style="text-align: center; color: #231F20; font-family: 'Times New Roman'; font-size: 10pt;">Name of each exchange on which registered</div>
          </td>

  </tr>

  <tr>

    <td style="width: 35.97%; vertical-align: middle;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:Security12bTitle" id="Fact_7cfa351f69ea4930a64d5810256e9b6a" contextRef="c20230101to20231231">Common stock, par value $0.01 per share</ix:nonNumeric></div>
          </td>

    <td style="width: 2.64%; vertical-align: middle;">&#160;</td>

    <td style="width: 22.22%; vertical-align: middle;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:TradingSymbol" id="Fact_db6870cd125d4a249274969cbf321117" contextRef="c20230101to20231231">TACT</ix:nonNumeric></div>
          </td>

    <td style="width: 1.81%; vertical-align: middle;">&#160;</td>

    <td style="width: 37.36%; vertical-align: middle;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:SecurityExchangeName" id="Fact_8867849620614571978db4bb76b1e537" contextRef="c20230101to20231231" format="ixt-sec:exchnameen">NASDAQ Global Market</ix:nonNumeric></div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Securities registered pursuant to Section 12(g) of the Act: None</div>

    <div><br/>
    </div>

    <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.&#160; Yes&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9744;</span>&#160;&#160; <ix:nonNumeric name="dei:EntityWellKnownSeasonedIssuer" id="Fact_e5bc5a0382a24969bd743329367e406b" contextRef="c20230101to20231231">No</ix:nonNumeric>&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9746;</span></div>

    <div><br/>
    </div>

    <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.&#160; Yes&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9744;</span>&#160;&#160; <ix:nonNumeric name="dei:EntityVoluntaryFilers" id="Fact_4d31a3612dca4ff58948ca1c8d2dd9ba" contextRef="c20230101to20231231">No</ix:nonNumeric>&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9746;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934
      during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.&#160; <ix:nonNumeric name="dei:EntityCurrentReportingStatus" id="Fact_2c210f0dc2d14669b8981f89a9257226" contextRef="c20230101to20231231">Yes</ix:nonNumeric>&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9746;</span>&#160;&#160; No&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9744;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of
      Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160; <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" id="Fact_e9a18cb5aea84a9687395d373c2a7538" contextRef="c20230101to20231231">Yes</ix:nonNumeric>&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9746;</span>&#160;&#160; No&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9744;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">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.&#160; See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 57.5%; vertical-align: top;">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Large accelerated filer&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9744;</span></div>
          </td>

    <td style="width: 42.5%; vertical-align: top;">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Accelerated filer&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9744;</span></div>
          </td>

  </tr>

  <tr>

    <td style="width: 57.5%; vertical-align: top;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;"><ix:nonNumeric name="dei:EntityFilerCategory" id="Fact_c8a74416d31c4a46a8ab29ac7c999d36" contextRef="c20230101to20231231" format="ixt-sec:entityfilercategoryen">Non-accelerated filer</ix:nonNumeric>&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9746;</span></div>
          </td>

    <td style="width: 42.5%; vertical-align: top;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Smaller reporting company&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntitySmallBusiness" id="Fact_9bc31827051347deb9cf2ec4b302a8ac" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric></span></div>
          </td>

  </tr>

  <tr>

    <td style="width: 57.5%; vertical-align: top;">&#160;</td>

    <td style="width: 42.5%; vertical-align: top;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Emerging growth company <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" id="Fact_1693d66361044417b60212f9005fee71" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

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

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;"><span style="font-size: 8pt; font-family: 'Times New Roman';">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. </span><span style="font-size: 8pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:IcfrAuditorAttestationFlag" id="Fact_9cb18de4c2364d27827193a0bc24ab5c" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;"><span style="font-size: 8pt; font-family: 'Times New Roman';">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. <ix:nonNumeric name="dei:DocumentFinStmtErrorCorrectionFlag" id="Fact_272903cfd55a4e2abe938fba5d090016" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">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-size: 8pt; font-family: 'Segoe UI Symbol';">&#9744;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntityShellCompany" id="Fact_21c93015d193483885608af485acea22" contextRef="c20230101to20231231" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span>&#160;&#160; No&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9746;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">The aggregate market value of the voting and non-voting common equity held by non-affiliates of the registrant was approximately $<ix:nonFraction name="dei:EntityPublicFloat" id="Fact_0521a2a6a46b4c259e788eb5bc9f6d2e" contextRef="c20230630" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">78,500,000</ix:nonFraction> based on the last sale price on June 30, 2023.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">As of February 29, 2024, the number of
      shares outstanding of the registrant&#8217;s common stock, par value $0.01 per share, was <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" id="Fact_bb2d981e260d448c8aae7f52a968e065" contextRef="c20240229" unitRef="U002" decimals="INF" scale="0" format="ixt:num-dot-decimal">9,964,674</ix:nonFraction>.</div>

    <div><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 8pt; font-weight: bold;">DOCUMENTS INCORPORATED BY REFERENCE</div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;">Portions of the registrant&#8217;s Definitive Proxy Statement related to its 2024 Annual Meeting of Stockholders (the &#8220;Proxy Statement&#8221;) to be filed with the Securities and Exchange Commission&#160; within 120 days after the Registrant&#8217;s fiscal year end of December 31, 2023 are incorporated by reference into Part III of this Annual Report on Form 10-K.</div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 8pt;"> <br/>
    </div>

    <div>
      <hr style="border: none; border-bottom: 4px solid black; border-top: 1px solid black; height: 10px; color: #ffffff; background-color: #ffffff; text-align: center; margin-left: auto; margin-right: auto;"/> </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div class="BRPFPageFooter"></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;"></div>

    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>

  </div>


  <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;">
    <div>
      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">TRANSACT TECHNOLOGIES INCORPORATED</span></div>

      <div><br/>
      </div>

      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><a id="INDEX"><!--Anchor--></a><span style="text-decoration: underline;">INDEX</span></div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">PART I.</div>
            </td>

    <td style="width: 8%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 1.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item1">Business</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">1</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 1A.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item1A">Risk Factors</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">6<br/>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 1B.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item1B">Unresolved Staff Comments</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">19</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 1C.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item1C">Cybersecurity</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">19</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 2.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item2">Properties</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">20</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 3.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item3">Legal Proceedings</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">20</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 4.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item4">Mine Safety Disclosures</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">20</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">&#160;</td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">PART II.</div>
            </td>

    <td style="width: 8%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 5.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item5">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">21</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 6.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">[Reserved]</div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">21</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 7.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item7">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">21</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 7A.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item7A">Quantitative and Qualitative Disclosures About Market Risk</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">29</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 8.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item8">Financial Statements and Supplementary Data</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">29</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 9.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item9">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">29</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 9A.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item9A">Controls and Procedures</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">30</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 9B.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item9B">Other Information</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">30</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 9C.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item9C">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">30</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">&#160;</td>

    <td style="width: 85%; vertical-align: top;">&#160;</td>

    <td style="width: 8%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">PART III.</div>
            </td>

    <td style="width: 8%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 10.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item10">Directors, Executive Officers and Corporate Governance</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">31</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 11.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item11">Executive Compensation</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">31</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 12.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item12">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">31</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 13.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item13">Certain Relationships and Related Transactions, and Director Independence</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">31</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 14.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item14">Principal Accountant Fees and Services</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">31</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">&#160;</td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">PART IV.</div>
            </td>

    <td style="width: 8%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 15.</div>
            </td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item15">Exhibits and Financial Statement Schedules</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; margin-right: 0.8pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">32</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Item 16.</div>
            </td>

    <td style="width: 85%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#Item16">Form 10-K Summary</a></div>
            </td>

    <td style="width: 8%; vertical-align: bottom;">
              <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">34</div>
            </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top;" colspan="2">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#SIGNATURES">SIGNATURES</a></div>
            </td>

    <td style="width: 8%; vertical-align: top; text-align: center;">35<br/>
            </td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: rgb(204, 238, 255);" colspan="2">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top;" colspan="2">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">CONSOLIDATED FINANCIAL STATEMENTS</div>
            </td>

    <td style="width: 8%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: rgb(204, 238, 255);" colspan="2">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top;" colspan="2">
              <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><a href="#FSIndex">Index to Consolidated Financial Statements</a></div>
            </td>

    <td style="width: 8%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">F-1</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <!--PROfilePageNumberReset%Num%1%%%-->
      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Smaller Reporting Company&#8212;Scaled Disclosure</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Pursuant to Item 10(f) of Regulation S-K promulgated under the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;), as indicated herein, we have
        elected to comply with certain scaled disclosure requirements applicable to &#8220;smaller reporting companies&#8221; in this Annual Report on Form 10-K for the year ended December 31, 2023 (this &#8220;Form 10-K&#8221;).</div>

      <div><br/>
      </div>

      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PART I</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Forward-Looking Statements</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Certain statements included in this Form 10-K may include &#8220;forward-looking statements&#8221; within the meaning of the U.S. federal
        securities laws, including the Private Securities Litigation Reform Act of 1995. Forward-looking statements are any statements other than statements of historical fact. Forward-looking statements represent current views about possible future events
        and are often identified by the use of forward-looking terminology, such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;could,&#8221; &#8220;expect,&#8221; &#8220;intend,&#8221; &#8220;estimate,&#8221; &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;project,&#8221; &#8220;plan,&#8221; &#8220;predict,&#8221; &#8220;design&#8221; or &#8220;continue&#8221; or the negative thereof or other
        similar words.&#160; Forward-looking statements are subject to certain risks, uncertainties and assumptions.&#160; In the event that one or more of such risks or uncertainties materialize, or one or more underlying assumptions prove incorrect, actual results
        may differ materially from those expressed or implied by the forward-looking statements.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Important factors and uncertainties that could cause actual results to differ materially from those expressed or implied by the
        forward-looking statements include, but are not limited to, the following: the adverse effects of current economic conditions on our business, operations, financial condition, results of operations and capital resources, difficulties or delays in
        manufacturing or delivery of inventory or other supply chain disruptions, inflation and the Russia/Ukraine and Middle East conflicts, an inability of our customers to make payments on time or at all, diversion of management attention, a possible
        future reduction in the value of goodwill or other intangible assets, inadequate manufacturing capacity or a shortfall or excess of inventory as a result of difficulty in predicting manufacturing requirements due to volatile economic conditions,
        price increases or decreased availability of component parts or raw materials, exchange rate fluctuations, volatility of, and decreases in, trading prices of our common stock and the availability of needed financing on acceptable terms or at all;
        our ability to successfully develop new products that garner customer acceptance and generate sales, both domestically and internationally, in the face of substantial competition; our reliance on an unrelated third party to develop, maintain and
        host certain web-based food service application software and develop and maintain selected components of our downloadable software applications pursuant to a non-exclusive license agreement, and the risk that interruptions in our relationship with
        that third party could materially impair our ability to provide services to our food service technology customers on a timely basis or at all and could require substantial expenditures to find or develop alternative software products;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</span>our ability to successfully grow our business in the food service technology market; risks associated with the pursuit of strategic initiatives and
        business growth; general economic conditions; our dependence on contract manufacturers for the assembly of a large portion of our products in Asia; our dependence on significant suppliers; our ability to recruit and retain quality employees; our
        dependence on third parties for sales outside the United States; marketplace acceptance of new products; risks associated with foreign operations; the availability of third party components at reasonable prices; price wars, supply chain disruptions
        or other significant pricing pressures affecting the Company&#8217;s products in the United States or abroad; increased product costs or reduced customer demand for our products due to changes in U.S. policy that may result in trade wars or tariffs; our
        ability to protect intellectual property; and other risk factors identified and discussed in Part I, Item 1A, Risk Factors, and Part II, Item 7, Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations, of this Form
        10-K and that may be detailed from time to time in the Company&#8217;s other reports filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;).</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">We caution readers not to place undue reliance on forward-looking statements, which speak only as of the date of this Form 10-K.&#160; We
        undertake no obligation to publicly or otherwise revise any forward-looking statements, whether as a result of new information, future events or other factors, except where we are expressly required to do so by applicable law.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><a id="Item1"><!--Anchor--></a>Item 1. Business.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">The Company</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated (together with its consolidated subsidiaries, &#8220;TransAct,&#8221; the &#8220;Company,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or &#8220;our&#8221;) was incorporated in
        June 1996 and began operating as a stand-alone business in August 1996 as a spin-off of the printer business that was formerly conducted by certain subsidiaries of Tridex Corporation.&#160; We completed an initial public offering on August 22, 1996.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct is a global leader in developing and selling software-driven technology and printing solutions for high-growth markets including food service
        technology, point of sale (&#8220;POS&#8221;) automation and casino and gaming.&#160; Our world-class products are designed from the ground up based on market and customer requirements and are sold under the BOHA!&#8482;, AccuDate&#8482;, Epic, EPICENTRAL&#174;, and Ithaca&#174; brand
        names.&#160; During 2019, we launched a new line of products for the food service technology market, the BOHA! hardware solutions and companion branded suite of cloud-based applications.&#160; The BOHA! software and hardware products help restaurants,
        convenience stores and food service operators of all sizes automate the food production in the back-of-house operations.&#160; Known and respected worldwide for innovative designs and real-world service reliability, our thermal printers and terminals
        generate top-quality labels, coupons and transaction records such as receipts, tickets and other documents.&#160; We sell our technology to original equipment manufacturers (&#8220;OEMs&#8221;), value-added resellers, and select distributors, as well as directly to
        end users.&#160; Our product distribution spans across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. We also offer world-class service, support, labels, spare parts, accessories
        and printing supplies to our growing worldwide base of products currently in use by our customers. Through our TransAct Services Group (&#8220;TSG&#8221;), we provide a complete range of supplies and consumables used in the printing activities of customers in
        the restaurant and hospitality, retail, casino and gaming, and government markets.&#160; Through our webstore, www.transactsupplies.com, and our direct selling team, we address the demand for these products.&#160; We operate in one reportable segment: the
        design, development, and marketing of software-driven technology and printing solutions for high growth markets, and provide related services, supplies and spare parts.&#160; Our primary operating, hardware research and development, and U.S. service
        center is located in Ithaca, New York.&#160; In addition, we have a casino and gaming sales headquarters and software research and development center in Las Vegas, Nevada; a European sales and service center at our subsidiary in the United Kingdom
        (&#8220;UK&#8221;); and a sales office located in Macau, China.&#160; Our executive offices are located at One Hamden Center, 2319 Whitney Avenue, Suite 3B, Hamden, Connecticut, 06518, and our telephone number is (203) 859-6800.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">1</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Recent Developments</div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the fourth quarter of 2023, we completed an asset sale of our Printrex product line (essentially inventory
        on-hand) and recorded a resulting non-operating gain of approximately $0.4 million in the fourth quarter of 2023. Prior to this sale, the last TransAct sales of Printrex products occurred in 2021.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Current Business Trends</div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">After strong demand during the year due in part to our primary competitor&#8217;s struggle to deliver products in the
        face of supply chain constraints, in late 2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain concerns advised us that they would
        temporarily reduce orders until their stock normalized. This slowdown impacted our results in the fourth quarter of 2023, and we expect this trend to continue to impact results in 2024. Further, our primary competitor in the casino and gaming
        market has resumed supplying product with increasing volume in 2024, which has begun to result in downward pricing pressure in that market and could exacerbate the demand slowdown, either of which could negatively impact our worldwide casino and
        gaming sales. In addition, we have experienced cost increases as a result of current economic conditions, most of which we have been able to offset by increasing the prices of our products.&#160; However, there can be no guarantee that we will be able
        to increase prices sufficiently to offset any future such cost increases that cannot be predicted, and we may be impacted by supply chain disruptions, inflationary pressures and other global economic conditions that may affect the markets we serve
        and from which we source our supplies and parts.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Balance Sheet, Cash Flow and Liquidity</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the third quarter of 2023, we began a cost reduction initiative to reduce our overall level of operating expenses that includes reducing employee
        headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering resources and other expenses, and to a lesser extent, certain general and administrative expenses. We expect these actions will result in
        approximately $3 million of annualized savings beginning in 2024, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts
        we have taken to bring expenses in line with our revenue and mitigate the impact of global economic conditions such as supply chain disruptions and inflation are sufficient or adequate, and we may be required to take additional measures, as the
        ultimate extent of the effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.&#160; See Part I,
        Item 1A, Risk Factors, of this Form 10-K for further discussion of risks related to global economic conditions, supply chain disruptions and inflation.</div>

      <div><br/>
      </div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Products, Services, Markets and Distribution Methods</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Printers, terminals and other
          hardware:</span> TransAct designs, develops and markets a broad array of transaction-based and specialty printers and terminals utilizing thermal printing technology for applications, primarily in the food service technology, POS automation, and
        casino and gaming markets.&#160; Our printers and terminals are configurable and offer customers the ability to choose from a variety of features and functions.&#160; Options typically include interface configuration, mounting configuration, paper cutting
        devices and paper handling capacities.&#160; Our food service technology terminals also offer software configurable menu options and our food service technology market includes sales of optional hardware products including tablets, temperature sensors
        and gateways (i.e. access points needed to enable wireless communications).</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Food Service Technology (&#8220;FST&#8221;): </span>
        Our primary offering in the food service technology market is our line of BOHA! products, which can combine our latest generation terminal and workstation which includes one or two printers and our BOHA! labeling, timers, and media software.&#160; In
        addition, customers may individually purchase cloud-based software applications that connect to a separate application on a separate mobile device into a solution to automate back-of-house operations in restaurants, convenience stores and food
        service operations. The additional software offering of BOHA! consists of a variety of individually purchased software-as-a-service (&#8220;SaaS&#8221;)-based applications for both Android and iOS operating systems, including applications for, temperature
        monitoring, temperature taking and creating checklists and task lists. These applications are sold separately, and customers purchase the applications they need for their back-of-house operations. Customers may also purchase associated hardware,
        such as tablets, temperature sensors and gateways. The BOHA! Terminal and newly-launched Terminal 2 combine<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>an operating system and hardware components in a device
        that includes a touchscreen and one or two thermal print mechanisms that print easy-to-read food rotation labels, grab-and-go labels, and nutritional labels for prepared foods, and &#8220;enjoy by&#8221; date labels. The BOHA! WorkStation uses an iPad or
        Android tablet instead of an integrated touchscreen. The BOHA! Terminal, Terminal 2 and WorkStation are equipped with the TransAct Enterprise Management System to ensure that only approved touchscreen functions are available on the touchscreen
        device and to allow over-the-air updates to the operating system. BOHA! helps food service establishments and restaurants (including fine dining, casual dining, fast casual and quick-service restaurants, convenience stores, hospitality
        establishments and contract food service providers) effectively manage food safety and grab-and-go initiatives, as well as automate and manage back-of-house operations. Recurring revenue from BOHA! is generated by software sales, including software
        subscriptions that are typically charged to customers annually on a per-application basis, as well as sales of labels, extended warranty and service contracts, and technical support services.&#160; In the food service technology market, we use an
        internal sales force to solicit sales directly from end users.&#160; In May 2023, we launched our new BOHA! Terminal 2 (the &#8220;T2&#8221;).&#160; The T2 is designed to be a high-end product intended for enterprise customers with increased speed, print resolution and
        wide-label capability.&#160; We started receiving orders for the T2 in the latter part of 2023 from both our international and domestic markets.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">POS automation:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</span>In the POS market, we sell a printer utilizing thermal printing technology.&#160; Our POS printer is used primarily by McDonald&#8217;s, and to a lesser
        extent, other quick-service restaurants and are located either at the checkout counter or within self-service kiosks, to print receipts for consumers or print on linerless labels.&#160; In the POS market, we primarily sell our products through a network
        of domestic and international distributors and resellers.&#160; We use an internal sales force to manage sales through our distributors and resellers, as well as to solicit sales directly from end-users.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">2</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Casino and gaming:</span>&#160; We sell
        several models of printers used in slot machines and video lottery terminals (&#8220;VLTs&#8221;) and other gaming machines that print tickets or receipts instead of issuing coins (&#8220;ticket-in, ticket-out&#8221; or &#8220;TITO&#8221;) at casinos, racetracks and other gaming
        venues worldwide.&#160; These printers utilize thermal printing technology to print tickets and receipts in monochrome and offer various other features such as jam resistant bezels and a dual port interface that enables casinos to print coupons and
        promotions.&#160; In addition, we sell printers using thermal roll-fed printing technology for use in international non-casino establishments, including game types such as Amusements with Prizes, Skills with Prizes, Fixed Odds Betting Terminals, sports
        betting establishments and other off-premise gaming type machines around the world.&#160; We sell our casino and gaming products primarily (1) to slot machine manufacturers, who incorporate our printers into slot machines and, in turn, sell completed
        slot machines directly to casinos and other gaming establishments and (2) through distributors.&#160; We also maintain a dedicated internal sales force to solicit sales from slot machine manufacturers and casinos, and to manage sales through our
        distributors.&#160; In the fourth quarter of 2023, we launched the Epic TR80, our newest casino and gaming printer, which we believe will help us retain and expand our customer base in the casino and gaming markets.</div>

      <div style="text-align: left;"><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We also offer a software solution, the EPICENTRAL Print System, including annual software maintenance, that enables casino operators to create
        promotional coupons and marketing messages and to print them in real time at the slot machine. With EPICENTRAL, casinos can utilize the system to create multiple promotions and incentives to either increase customer time spent on the casino floor
        or encourage additional visits to generate more revenue to the casinos.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">TSG</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:&#160; </span>Through TSG, we proactively market the sale of consumable products (including POS receipt paper, ribbons and other printing supplies), replacement parts,
        maintenance and repair services, and shipping and handling charges.&#160; Our maintenance services include the sale of extended warranties, multi-year maintenance contracts, a 24-hour guaranteed replacement product service called TransAct Xpress&#8482; and
        other repair services for our non-FST products.&#160; Within the United States, we provide repair services through our service center in Ithaca, New York.&#160; Internationally, we provide repair services through our European service center located in
        Doncaster, UK, and through partners strategically located around the world.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We also provide customers with telephone sales and technical support, and a personal account representative to handle orders, shipping and general
        information.&#160; Technical and sales support personnel receive training on all our products and services.&#160; In addition to personalized telephone and technical support, we also market and sell consumable products 24 hours a day, seven days a week, via
        our webstore, www.transactsupplies.com.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Sources and Availability of Raw Materials</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We design our products to optimize product performance, quality, reliability and durability.&#160; These designs combine cost efficient materials, sourcing
        and assembly methods with high standards of workmanship.&#160; Almost all of our printers and terminals are currently produced by a third party manufacturer located in Thailand.&#160; A small portion of our products are assembled in our Ithaca, New York
        facility largely on a configure-to-order basis using components and subassemblies that have been sourced from vendors and contract manufacturers around the world.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Critical component parts and subassemblies include thermal print heads, printing/cutting mechanisms, power supplies, motors, injection molded plastic
        parts, LCD screens, tablets, circuit boards and electronic components, which are obtained from domestic and foreign suppliers at competitive prices, subject to availability.&#160; As a result of the majority of our production being performed by our
        contract manufacturers, the majority of our purchases consist of fully assembled printers and terminals produced by our contract manufacturers and, to a much lesser extent, component parts.&#160; We typically strive to maintain more than one source for
        our component parts, subassemblies and fully assembled printers and terminals to reduce the risk of parts shortages or unavailability.&#160; However, we have experienced and could continue to experience some disruption due to certain suppliers being
        unable to source specific components and we could experience temporary disruption in the availability of components.&#160; In addition, we could experience temporary disruption if certain suppliers ceased doing business with us, as described below.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We currently buy a majority of our thermal print mechanisms, an important component of our thermal printers, and fully assembled printers for
        substantially all of our printer and food service technology terminal models, from a foreign contract manufacturer in Thailand.&#160; We believe that other contract manufacturers could provide similar thermal print mechanisms or fully assembled printers
        and terminals, on comparable terms.&#160; We do not have supply agreements with foreign contract manufacturers, and we believe that our supply of thermal print mechanisms and fully assembled printers and terminals will be adequate in 2024 and the
        foreseeable future.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Patents and Proprietary Information</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct relies on a combination of trade secrets, patents, employee and third party nondisclosure agreements, copyright laws and contractual rights to
        establish and protect its proprietary rights in its products. As of January 31, 2024, we hold 26 active United States patents<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>and 29 active foreign patents and have
        seven foreign patent applications and two US patent applications pertaining to our products.&#160; The remaining duration of these patents ranges from one to 25 years. During the year ended December 31, 2023, no US patents were issued and two foreign
        patents were issued.&#160;&#160; During the year ended December 31, 2023, one United States<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>patent expired and one foreign<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>patent expired. The expiration of this foreign patent has not had a material negative impact on our business. The expiration of any individual patent would not have a significant negative impact on our
        business.&#160; We regard certain manufacturing processes and designs to be proprietary and attempt to protect them through employee and third party nondisclosure agreements and similar means.&#160; It may be possible for unauthorized third parties to copy
        certain portions of our products or to reverse engineer or otherwise obtain and use, to our detriment, information that we regard as proprietary.&#160; Moreover, the laws of some foreign countries do not afford the same protection to our proprietary
        rights as do the laws of the United States. There can be no assurance that legal protections we rely upon to protect our proprietary position will be adequate or that our competitors will not independently develop technologies that are
        substantially equivalent or superior to our technologies.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">3</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Trademarks, Service Marks Trade Names and Copyrights</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We own or have rights to trademarks, service marks, trade names and copyrights that we use in connection with the operation of our business, including
        our corporate names, logos and website names. Other trademarks, service marks and trade names appearing in this Form 10-K are the property of their respective owners.&#160; The trademarks we own include TransAct&#174;, BOHA!<sup>TM</sup>, AccuDate&#8482;,
        EPICENTRAL&#174; and Ithaca&#174;. Solely for convenience, some of the trademarks, service marks, trade names and copyrights referred to in this Form 10-K are listed without the &#169;, &#174; and &#8482; symbols, but we will assert, to the fullest extent under applicable
        law, our rights to our trademarks, service marks, trade names and copyrights.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Seasonality</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Restaurants typically reduce purchases of equipment in the fourth quarter due to the increased volume of transactions during the holiday period, which
        may negatively impact sales of our food service technology products or POS printers.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Working Capital</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventory, accounts receivable, and accounts payable levels, payment terms, and where applicable, return policies are in accordance with the general
        practices of the industry and standard business procedures.&#160; See also Part II, Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations of this Form 10-K.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Certain Significant Customers</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">IGT is our most significant customer. We sell casino and gaming printers and, prior to 2021, online lottery printers to IGT.&#160; Although we no longer have
        an agreement to sell lottery printers to IGT, we expect to continue selling casino and gaming printers to IGT, as well as spare parts for our remaining, but declining, installed base of lottery printers, in the future.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales to IGT represented 15% and 10% of our total net sales for the years ended December 31, 2023 and 2022, respectively.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Backlog</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our backlog of firm orders was approximately $10.7 million as of February 29, 2024, compared to $27.5 million as of February 28, 2023.&#160; The decrease in
        firm orders as of February 29, 2024 compared to February 28, 2023 is due primarily to casino and gaming customers placing a large number of advance orders in 2023 due to pandemic-related supply chain shortages that have now begun to cease.&#160; Based
        on customers&#8217; current delivery requirements, we expect to fill and recognize as revenue $10.3 million of our current backlog during 2024, $0.3 million during 2025 and the remaining balance of the amount during 2026.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Competition</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The market for transaction-based and specialty printers, food service technology terminals and related software applications is extremely competitive,
        and we expect such competition to continue in the future.&#160; However, we experience less competition for EPICENTRAL software due to the highly customized nature of the product.&#160; We compete with a number of companies, many of which have greater
        financial, technical and marketing resources than TransAct.&#160; We believe our ability to compete successfully depends on a number of factors both within and outside our control, including durability, reliability, quality, design capability, product
        customization, price, customer support, success in developing new products, manufacturing expertise and capacity, supply of component parts and materials, strategic relationships with suppliers, the timing of new product introductions by us and our
        competitors, general market, economic and political conditions and, in some cases, the uniqueness of our products.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the food service technology market, we primarily compete with CrunchTime! Information Systems, Inc. (including its Zenput and Squadle brands), Jolt
        Software, Avery Dennison Corporation, Ecolab Inc., ITD Food Safety, CMC Daymark, Integrated Control Corp, Digi International, and Toast.&#160; We compete in this market based largely on our ability to provide highly specialized purpose-built hardware
        products, different software applications that can be chosen by a customer and ongoing technical support.&#160; We rely upon third party developed software and hosting services combined with our own proprietary hardware and software to offer a unique
        BOHA! branded solution to support back-of-house operations in the food service industry. Our competitors or others may develop, or may establish relationships with developers with the capability to develop, software and services that are similar to
        or competitive with ours, which may be disadvantageous to our competitive position.&#160; Certain portions of our food service technology software are licensed from a third party developer on a non-exclusive basis through 2031 and are subject to a
        revenue sharing arrangement with the developer. We are reliant upon the third party developer to further develop and maintain its developed software, and the developer controls the software source code. The license agreement does not preclude the
        developer or the Company from working with others on similar products. Also, the third party developer hosts the web-based applications.&#160; Therefore, presently, we are highly dependent upon this third party developer for continued service to our
        customers and the further development of our food service technology software products.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the POS automation market, we primarily compete with Epson America, Inc., which holds a dominant market position.&#160; We also compete, to a much lesser
        extent, with BIXOLON America, Inc., Star Micronics America, Inc. and Citizen - CBM America Corporation.&#160; Certain competitors of ours have greater financial resources and lower costs attributable to higher volume production which enables them to
        occasionally offer lower prices than us.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the casino and gaming market (consisting principally of slot machine printing, VLT and sports betting transaction and promotional coupon printing), we
        compete with several companies including JCM Global, Nanoptix, Inc., Custom Engineering SPA, Eurocoin and others.&#160; Certain of our products sold for casino and gaming applications compete based upon our ability to provide highly specialized
        products, custom engineering and ongoing technical support.&#160; We believe we have increased our market share in casino and gaming during 2022 and 2023 compared to prior years primarily as a result of our largest competitor&#8217;s inability to supply
        product due to supply chain issues, but we that competitor has recently begun to supply product to the market, resulting in a more competitive environment in the casino and gaming market going forward in 2024.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The market in which TSG competes is highly fragmented, and we compete with numerous competitors of various sizes, including POS and internet resellers
        and paper converters depending on the geographic area.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">4</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our strategy for competing in our markets is to continually develop and/or license new products (hardware and software), such as launching the BOHA!
        Terminal in 2019 and the BOHA! Terminal 2 in 2023, and product line extensions that are technologically advanced and provide differentiated features and functions, to increase our market penetration, to take advantage of strategic relationships,
        and to lower the cost of our products by sourcing certain products overseas.&#160; Although we believe that our products, operations and relationships provide a competitive foundation, there can be no assurance that we will compete successfully in the
        future.&#160; In addition, our printer products utilize certain thermal printing technologies and licensed software.&#160; If new technologies are introduced, or existing technologies evolve, we may be required to incorporate these technologies into our
        products.&#160; Alternatively, if such technologies were to become available to our competitors, our printer products could become obsolete, which could have a significant negative impact on our business.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Governmental Regulation</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The casino and gaming industries are generally subject to extensive and evolving regulation that in many jurisdictions includes licensing or regulatory
        screening of suppliers, manufacturers and distributors and their applicable affiliates, their major shareholders, officers, directors and key employees. In addition, certain of our casino and gaming products and technologies must be certified or
        approved in each of the jurisdictions in which we operate. Regulators review many facets of an applicant or holder of a license, including its financial stability, integrity and business experience. Any failure to receive a license or the loss of a
        license that we currently hold could have a material adverse effect on us or on our results of operations, cash flow or financial condition.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">While we believe that we are in compliance with all material casino and gaming laws and regulatory requirements applicable to us, we cannot assure that
        our activities or the activities of our customers will not become the subject of any regulatory or law enforcement proceeding or that any such proceeding would not have a material adverse impact on us or our results of operations, cash flows or
        financial condition.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Environmental Compliance</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our compliance with federal, state and local laws and regulations relating to environmental protection and discharge of hazardous materials has not had a
        material impact on our capital expenditures, earnings or competitive position, and we do not anticipate any material impact from such compliance in the future.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Available Information</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We make available free of charge through the &#8220;Investor Relations&#8221; tab on our website, www.transact-tech.com, our Annual Report on Form 10-K, Quarterly
        Reports on Form 10-Q, Current Reports on Form 8-K, proxy statements and all amendments to those reports and statements as soon as reasonably practicable after such material is electronically filed with or furnished to the SEC pursuant to Sections
        13(a) or 15(d) of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;).&#160; The SEC maintains a website that contains reports, proxy and information statements, and other information regarding issuers that file electronically with the
        SEC at http://www.sec.gov.&#160; The content on any website referred to in this Form 10-K is not incorporated by reference in this Form 10-K unless expressly noted.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Employees</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2023, TransAct and our subsidiaries employed 117 persons, all of whom were full-time employees.&#160; None of our employees are unionized,
        and we consider our relationships with our employees to be good.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Information about our Executive Officers</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following is a list of the names and ages of all executive officers of the registrant, indicating all positions and offices with the registrant held
        by each such person and each person&#8217;s principal occupations and employment during at least the past five years.</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 26.26%; vertical-align: bottom; border-bottom: #000000 2px solid;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Name</div>
            </td>

    <td style="width: 1.01%; vertical-align: bottom;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; border-bottom: #000000 2px solid;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Age</div>
            </td>

    <td style="width: 1.96%; vertical-align: bottom;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; border-bottom: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Position</div>
            </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">John M. Dillon</div>
              </div>
            </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">74</div>
              </div>
            </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Executive Officer</div>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino</div>
              </div>
            </td>

    <td style="width: 1.01%; vertical-align: bottom;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom;">
              <div>
                <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">54</div>
              </div>
            </td>

    <td style="width: 1.96%; vertical-align: bottom;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tracey S. Winslow</div>
              </div>
            </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">64</div>
              </div>
            </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Revenue Officer</div>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Brent Richtsmeier</div>
              </div>
            </td>

    <td style="width: 1.01%; vertical-align: bottom;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom;">
              <div>
                <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">59</div>
              </div>
            </td>

    <td style="width: 1.96%; vertical-align: bottom;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Technology Officer</div>
              </div>
            </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">William J. DeFrances</div>
              </div>
            </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">59</div>
              </div>
            </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Vice President &amp; Chief Accounting Officer</div>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">John M. Dillon was appointed Chief Executive Officer of TransAct on April 4, 2023 and has been a member of the Board of Directors of the Company since
        2011.&#160; Mr. Dillon has been the Chairman of the Board of Directors of Aerospike, the world&#8217;s first flash-optimized database and the fastest database at scale, since January 2022 and served as CEO of Aerospike from January 2015 to January 2022. Prior
        to joining Aerospike, Mr. Dillon served as CEO of Engine Yard, Inc., the leading cloud platform for automating and developing Ruby on Rails and PHP applications, from 2009 to 2014. He served as CEO for Navis, Inc., a private company specializing in
        software systems for operating large marine container terminals and distribution centers, from 2002 to 2008. Before Navis, he also served as CEO for Salesforce, Inc. (formerly Salesforce.com) and President and CEO of Hyperion Solutions. He began
        his career as a Systems Engineer for EDS (Electronic Data Systems) and then moved into a variety of sales management positions for various high-tech companies, including Oracle Corporation. Mr. Dillon holds a Bachelor&#8217;s degree in Engineering from
        the United States Naval Academy and an MBA from Golden Gate University.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino was named TransAct&#8217;s President, Chief Financial Officer, Treasurer and Secretary on June 1, 2010.&#160; Previously, Mr. DeMartino served
        as Executive Vice President, Chief Financial Officer, Treasurer and Secretary from June 2004 to May 2010, Senior Vice President, Finance and Information Technology from October 2001 to May 2004, Vice President and Corporate Controller from January
        1998 to October 2001, and Corporate Controller from August 1996 to December 1997.&#160; Mr. DeMartino is a certified public accountant.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">5</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tracey S. Winslow was named Chief Revenue Officer of the Company in March 2023 with responsibility for worldwide sales in all of the Company&#8217;s markets.&#160;
        Prior to this appointment, Ms. Winslow served as Senior Vice President, Casino and Gaming Sales from June 2010 to February 2023, with responsibility for the sales and marketing of all casino and gaming products.&#160; Previously, Ms. Winslow served as
        Senior Vice President, Sales and Marketing from June 2007 to May 2010, Senior Vice President, Marketing and Sales, POS and Banking with the Company from July 2006 to June 2007, and joined TransAct in May of 2005 as Senior Vice President,
        Marketing.&#160; Prior to joining TransAct, Ms. Winslow was employed with Xerox Corporation where she held the role of Manager, Worldwide Marketing since 2003, and Manager, Sales Operations from 2000 to 2002.&#160; She joined Xerox Corporation in 1983.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Brent Richtsmeier was named Chief Technology Officer in September 2021.&#160; Previously, Mr. Richtsmeier served as Senior Vice President, Software
        Engineering since joining TransAct in December 2019 and was appointed as an officer of the Company in January 2021.&#160; Prior to joining TransAct, Mr. Richtsmeier was employed with Samsung Electronics Co., Ltd., an electronics corporation, from May
        2004 until November 2017 as the VP of Development where he was responsible for software strategy, software development at scale and business development.&#160; In November 2017, Samsung Electronics sold their business products division to HP Inc, and
        Mr. Richtsmeier transferred to HP Inc to become the Global Head of Cloud and Mobile Software Solutions until joining TransAct in 2019.</div>

      <div><br/>
      </div>

      <div>
        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">William J. DeFrances joined TransAct as Vice President &amp; Chief Accounting Officer in July 2022. Mr. DeFrances previously served as Corporate
          Controller at Omega Engineering, Inc., an electronics and instrumentation company that was, during Mr. DeFrances&#8217; tenure, a subsidiary of Spectris plc, a UK public company listed on the London Stock Exchange, from September 2020 to July 2022.
          From August 2019 to August 2020, Mr. DeFrances worked as an independent financial consultant. Prior to this, Mr. DeFrances held various positions with United Technologies Corporation (now RTX Corporation, formerly Raytheon Technologies
          Corporation) (&#8220;UTC&#8221;) and Sikorsky Aircraft (owned by Lockheed Martin Corporation). Mr. DeFrances previously served as an Associate Director of Military Finance for Pratt &amp; Whitney, a subsidiary of UTC, from October 2018 to August 2019, and
          the Business Unit Controller, USG/Military and International Military for Sikorsky Aircraft from October 2015 to October 2018. Prior to this, Mr. DeFrances also served as the Assistant Controller, Financial Reporting for Sikorsky Aircraft from
          2009 to 2013. In addition, Mr. DeFrances held various accounting and financial roles (VP Treasurer and VP Controller) from 2005 to 2009 at ATMI, Inc. (acquired by Entegris, Inc.), an advanced manufacturing company in the semiconductor industry.&#160;
          Mr. DeFrances is a certified public accountant.</div>

      </div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">There are no family relationships between any of our executive officers and there is no arrangement or understanding between any of such officers and any
        other person pursuant to which he or she was selected as an officer.&#160; Each of our executive officers was elected by the Board of Directors to hold office until his or her successor is elected and qualified or until his or her earlier resignation or
        removal.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 1A<a id="Item1A"><!--Anchor--></a>. Risk Factors.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Investors should carefully consider the risks, uncertainties and other factors described below, as well as other disclosures in Part II, Item 7.
        Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations, because they could have a material adverse effect on our business, financial condition, operating results, and growth prospects.&#160; The risks described below are
        not the only ones facing our Company.&#160; Additional risks and uncertainties not presently known to us, or that we currently believe to be immaterial, may also impair our business operations.&#160;&#160; In the event that such risks or uncertainties
        materialize, our business, financial condition, cash flows and results of operations could be materially adversely affected.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We assume no obligation (and specifically disclaim any such obligation) to update these Risk Factors or any other forward-looking statements contained in
        this Form 10-K to reflect actual results, changes in assumptions or other factors affecting such forward-looking statements, except as required by law.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to our Financial Condition and Future Operating Results</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We have a history of net losses, we anticipate making further investments in product development and we may not be
        able to achieve, maintain or increase profitability in future periods.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">While we generated $4.7 million of net income in 2023, we incurred a net loss of $5.9 million, $4.0 million and
        $5.6 million in 2022, 2021 and 2020, respectively.&#160; We may not be able to achieve or maintain profitability in the future.&#160; In addition, we anticipate making further investments in product development and may increase expenses in future periods
        which may affect our ability to maintain or increase profitability.&#160; We have expended, and expect to continue to expend, financial and other resources on developing our food service technology business, including expanding our offerings, developing
        or acquiring new products and services and increasing our sales and marketing efforts. These efforts may be more costly than we expect and may not result in increased revenue or growth in our food service technology business. Any failure to
        increase our revenue sufficiently to keep pace with our investments and other expenses could prevent us from maintaining or increasing profitability or positive cash flow on a consistent basis.&#160; This risk may be exacerbated by current economic
        conditions, which have resulted and may continue to result in increased costs and, despite the demand recovery we experienced in 2022 and 2023, have recently resulted, and may continue to result, in decreased demand for our products as customers
        who placed advance orders due to supply chain disruptions in 2022 and into 2023 pause orders while they sell accumulated inventory. If we are unable to successfully address these risks and challenges as we encounter them, our business, financial
        condition, and results of operations could be adversely affected.</div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">6</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our operating results and financial condition may fluctuate.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our operating results and financial condition may fluctuate from quarter to quarter and year to year and are
        likely to continue to vary due to a number of factors, many of which are not within our control.&#160; If our operating results do not meet the expectations of securities analysts or investors, who may derive their expectations by extrapolating data
        from recent historical operating results, the market price of our common stock will likely decline.&#160; Fluctuations in our operating results and financial condition may occur due to a number of factors, including, but not limited to, those identified
        below and throughout this &#8220;Risk Factors&#8221; section:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">delays between our expenditures to develop and market new or enhanced products and consumables and the generation of sales from those products;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">the geographic distribution of our sales and our supply chain;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">market acceptance of our products, both domestically and internationally;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">development of new competitive products by others;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">increased levels of competition, including due to the return to market of our largest casino and gaming competitor;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">our responses to price competition;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">our level of research and development activities;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in the amount that we spend to develop, acquire or license new products, consumables, technologies or businesses;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in the amount we spend to promote our products and services;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in the cost of satisfying our warranty obligations and servicing our installed base of products;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">availability of third party components at reasonable prices or at all;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">general economic and industry conditions, including inflation and changes in interest rates affecting returns on cash balances and investments, that affect customer
                demand;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in customer demand as supply chain constraints ease;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">the dependence of our supply chain on a few, foreign third party manufacturers and suppliers and the impact on our supply chain of product or component shortages and
                cost increases due to events beyond our control, including inflation and political or social instability such as the ongoing Russia-Ukraine conflict and conflict in the Middle East and possible expansion of such conflicts;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18.1pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">severe weather events, public health crises, military actions and other external events out of our control that can disrupt our operations or the operations of our
                customers&#8217; or suppliers&#8217; facilities; and</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in accounting rules and regulations.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Due to all of the foregoing factors, and the other risks discussed in this Form 10-K, quarter-to-quarter comparisons of our operating results may not be
        an indicator of future performance.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">7</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Relating to Global Political and Economic Conditions</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We purchase component parts and consumable products from third party and sole source suppliers, and any
        interference with this supply chain may impact our ability to manufacture and sell our products.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We rely on third party or sole source suppliers to provide certain key components for our products.&#160; We do not have guaranteed supply contracts with any
        of our component suppliers, and our suppliers could delay shipments, increase prices or cease manufacturing or selling such components to us at any time, such as the shortages in global microchip availability we experienced during much of 2022 and
        2023.&#160; Such disruptions resulted in delays in delivery of products to customers and could in the future result in additional delays, even if we are able to source components from alternate suppliers.&#160; Supply chain disruptions have, in the past,
        impacted our ability to maintain sufficient inventory on hand.&#160; As a result, we have paid, and if future disruptions occur we may have to pay in the future, increased shipping charges to expedite our receipt of components and inventory and the
        delivery of finished products to our customers.&#160; In addition, we have incurred increased costs to obtain certain products and components from alternate suppliers when our usual suppliers did not have products available for us, and we may incur such
        costs in the future if we need to seek alternate suppliers for any of our components.&#160; Cost increases and component shortages may be exacerbated by events beyond our control, such as changing economic conditions, inflation, currency and commodity
        price fluctuations, tariffs, resource availability, transportation costs, weather conditions and natural disasters, political unrest and instability, war (such as the ongoing military conflict between Russia and Ukraine and the conflict in the
        Middle East) and other factors impacting supply and demand pressures.&#160; Recurring or worsening disruptions in the supply chain of such component parts and consumable products could delay our production or release of our new products, cause us to
        incur additional freight costs and hinder our ability to meet our commitments to customers. If we are unable to obtain sufficient quantity of these components on commercially reasonable terms or in a timely manner, or if we are unable to obtain
        alternative sources for the components, sales of our products could be delayed or halted entirely or we may have to redesign our products, as we did with certain products in the recent past, to help meet market demand.&#160; In addition, supply chain
        constraints and the resulting delays affected customer ordering habits and customer demand by leading to a temporary increase in advance orders in 2022 and into 2023, which has recently resulted in a decrease in customer demand as customers sell
        accumulated inventory.&#160; It is our expectation that orders will continue to decrease, especially during the first half of 2024, as customers seek to balance inventory levels.&#160; Further, there can be no assurance that any cost increases attributable
        to future supply chain disruptions can be fully offset by price increases, or that we will continue to be able to fulfill orders on time, and continued or prolonged impacts on our supply chain may result in lost sales, reduced gross margins or
        damage to our end-customer relationships, which would have a material adverse effect on our financial results.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Catastrophic events, political unrest or a downturn in economic conditions may disrupt our business.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Geopolitical events, social unrest, war or the threat of war, including repercussions of the recent military conflict between Russia and Ukraine and the
        conflict in the Middle East, terrorism, political instability, acts of public violence, boycotts, labor discord or disruptions, hostilities, pandemics or other public health crises, natural disasters or other catastrophic events may cause damage or
        disruption to our operations or the operations of our customers, international commerce, and the global economy, and thus could harm our business. In particular, the reactions of governments, markets, and the general public to such events, many of
        which are beyond our control, may result in a number of adverse consequences for our customers, business, operations, and results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">For example, the continuing military conflict between Ukraine and Russia, as
          well as the financial and trade-related restrictions associated with Russia and Belarus and economic sanctions on certain individuals and entities in Russia and Belarus, have</span> impacted international trade relations, and resulted in
        sustained increases in the cost of materials and components.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; If the conflict continues to persist or escalates, this may further disrupt global supply chains and could
          result in shortages of key materials or components that our suppliers require to satisfy our needs.&#160; </span>Any increases in the cost, or shortages, of raw materials, components or energy may continue to create supply issues that could constrain
        manufacturing levels for our products.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, based on the complex relationships among China, Hong Kong, Taiwan, and the United States, there is risk that political, diplomatic, and
        national security influences might lead to trade, technology, or capital disputes, or disruptions that may affect our business or suppliers in Asia. These tensions may be exacerbated by continuing or new sanctions imposed in connection with the
        Russia&#8211;Ukraine conflict, as there continues to be unwillingness on the part of China to support ongoing or expanded sanctions, which could distance China from its existing trade partners. More recently, both the United States and the European Union
        have considered imposing sanctions directly on Chinese companies believed to be assisting Russia. Any increase in geopolitical tensions or expansion of sanctions either in Russia or Belarus or against Chinese companies may have a significant
        negative impact on our business or on the regional or global economy.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the event of a major earthquake, hurricane or catastrophic event such as fire, power loss, telecommunications failure, cyber-attack, war or terrorist
        attack, we may be unable to continue our operations and may endure system interruptions, reputational harm, breaches of data security, and loss of critical data, all of which would harm our business, results of operations, and financial condition.
        In addition, the insurance we maintain would likely not be adequate to cover our losses resulting from disasters or other business interruptions. Any downturn in the economy in general, including any lingering economic impacts of the COVID-19
        pandemic (including inflation and supply chain disruptions) and the impact of the Russia&#8211;Ukraine conflict and the Middle East conflict, or in the food service or casino and gaming industries in particular could result in reduced demand for our
        products and could adversely affect our business and results of operations.&#160; In addition, heightened security measures or responses to hostilities may cause certain governments to restrict the import or export of goods, as has occurred with respect
        to the export of oil from Russia, which may have an adverse effect on our ability to buy and sell goods or on the cost to obtain components.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">8</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to Our Operations</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our food service technology business depends substantially on our customers renewing their subscriptions with the
        Company. Any decline in our customer renewals could harm our food service technology business, results of operations and financial condition.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our subscription offerings are term-based, and in order for us to maintain or improve our results of operations, it is important that our customers renew
        their subscriptions with us when the existing subscription term expires and renew on the same terms or terms more favorable to the Company. Our customers have no obligation to renew their applications and subscriptions, and they may not renew one
        or more of their applications as they are purchased separately and individually.&#160; We also may not be able to accurately predict customer renewal rates. Customers may elect not to renew their subscriptions with us for a variety of reasons, including
        as a result of changes in their strategic priorities, budgets and costs and, in some instances, due to competing solutions. Our retention rate may also decline or fluctuate as a result of a number of other factors, including our customers&#8217;
        satisfaction or dissatisfaction with our solutions, the increase in the contract value of subscription and support contracts from new customers, the effectiveness of our customer support services, our pricing, the prices of competing products or
        services, global economic conditions and the other risk factors described herein. As a result, there can be no assurance that our food service technology customers will renew any or all of their individually purchased application subscriptions.&#160; If
        our customers do not renew their subscriptions or renew on less favorable terms, our business, results of operations and financial condition may be adversely affected.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Because we rely in part on revenue from subscription contracts and recognize revenue from subscription contracts
        over the term of the relevant subscription period, downturns or upturns in sales are not immediately reflected in full in our results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Subscription services revenue accounts for a growing portion of our food service technology revenue. Sales of new or renewal subscription contracts may
        decline or fluctuate as a result of a number of factors, including customers&#8217; level of satisfaction with our solutions, the prices of our subscriptions, the prices and features of products or subscriptions offered by our competitors, reductions in
        our customers&#8217; spending levels, or other changes in consumer behavior. If our sales of new or renewal subscription contracts decline, our revenue and revenue growth may decline. We recognize subscription revenue ratably over the term of the
        relevant subscription period, which is generally 12 months in duration. As a result, much of the subscription revenue we report each quarter is derived from subscription contracts that we sold in prior quarters.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consequently, a decline in new or renewed subscription contracts in any one quarter will not be fully reflected in revenue in that quarter but will
        negatively affect our revenue in future quarters. Accordingly, the effect of significant downturns in new or renewal sales of our subscriptions is not reflected in full in our results of operations in a given period. Also, it is difficult for us to
        rapidly increase our subscription revenue through additional sales in any period, as revenue from new and renewal subscription contracts must be recognized ratably over the applicable subscription period. Furthermore, any increases in the average
        term of subscription contracts would result in revenue for those subscription contracts being recognized over longer periods of time.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our calculation of recurring revenue and average revenue per user (&#8220;ARPU&#8221;) may differ from how other SaaS-based
        companies calculate such metrics; our definitions include sales of our consumable labels, which generally fluctuate from period to period.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We use recurring revenue and ARPU as performance indicators in connection with our food service technology market, and we include consumable label sales,
        in addition to subscription software, extended warranty and service contracts, in our calculation of these metrics. Consumable labels are not sold on a subscription basis or subject to any minimum purchase requirements. In addition, our label sales
        typically fluctuate and are dependent upon the current demand from food service and restaurant customers, which may be affected by factors such as general economic downturns and seasonality. As a result, our use and definitions of recurring revenue
        and ARPU may not be comparable with, and may be subject to increased fluctuation relative to, those of other SaaS-based companies that do not include non-subscription components such as label sales in their definitions of recurring revenue or ARPU.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Overestimates or underestimates in our manufacturing forecasts could cause us to hold insufficient or excess
        inventory or result in delays in the manufacturing and delivery of our products, which could interfere with our ability to retain orders or provide services to our customers.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">If we fail to predict our manufacturing requirements accurately, we could incur additional costs or experience manufacturing delays. We currently use a
        rolling 12-month forecast based primarily on our anticipated product orders and our product order history to help determine our requirements for components and materials. It is important that we accurately predict both the demand for our products
        and the lead-time required to obtain the necessary components and raw materials.&#160; We have also modified our products in the past to substitute available components in the place of those that have become scarce or difficult to obtain, and in some
        instances have identified alternate sources for certain components.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lead times for materials and components that we order vary significantly and depend on factors such as the specific supplier, the size of the order,
        contract terms, and demand for each component at a given time, as well as supply shortages with respect to raw materials needed to produce the components. If we underestimate our requirements, or if we are unable to obtain components on time due to
        supply shortages, as has occurred in the wake of the COVID-19 pandemic and global supply chain disruptions, we may have inadequate manufacturing capacity or inventory, which could interrupt manufacturing of our products and interfere with our
        ability to timely deliver products to our customers and adversely impact our sales. If we overestimate our requirements, we could have excess inventory of parts and finished products. Some of the actions we have taken to meet customer demand in the
        face of supply chain disruptions have raised our costs and decreased margins on our products, and any such actions that we take in the future could have a similar effect.&#160; Any future underestimate or overestimate of supply requirements, and any
        actions we may take in the future to navigate supply chain disruptions, could have a material adverse effect on our business and results of operations.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">9</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We depend on key personnel, the loss of whom could have a material adverse impact on our business.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our future success may depend in significant part upon the continued service of certain key management and other personnel.&#160; There can be no assurance
        that we will be able to recruit and retain such personnel.&#160; The loss of either John M. Dillon, the Company&#8217;s Chief Executive Officer, or Steven A. DeMartino, the Company&#8217;s President, Chief Financial Officer, Treasurer and Secretary, or the loss of
        certain groups of key employees, such as our or sales and engineering teams, could have a material adverse effect on our business and results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our ability to recruit, retain, and develop qualified personnel is critical to our success and growth.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">To successfully compete and grow our business, we must recruit, develop and retain highly qualified managerial, technical and sales and marketing
        personnel. In addition, we must develop, maintain and, as necessary, implement appropriate succession plans to ensure we have the necessary human resources capable of maintaining continuity in our business.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The market for qualified personnel is competitive, and we may not succeed in recruiting additional personnel or may fail to effectively replace current
        personnel who depart with qualified or effective successors. Our effort to retain and develop personnel may also result in significant additional expenses, which could adversely affect our profitability.&#160; We are also substantially dependent on our
        sales force to obtain new customers and increase sales to existing customers. There is significant competition for sales personnel with the skills and technical knowledge that we require. Our ability to achieve significant revenue growth will
        depend, in large part, on our success in recruiting, training, and retaining a sufficient number of sales personnel to support our growth. If we are unable to hire, train, and retain a sufficient number of qualified and successful sales personnel,
        our business, financial condition, and results of operations may be harmed.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">If we fail to offer high quality support, our business and reputation could suffer.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our customers rely on us and our third party service providers for support of our software and services included in our food service technology
        subscription packages. High-quality support is important for the renewal and expansion of our agreements with existing customers. The importance of high-quality support will increase as we expand our business and pursue new customers. If we or our
        third party service providers do not help our customers quickly resolve issues and provide effective ongoing support, our ability to sell new food service technology products to existing and new customers could suffer and our reputation and
        relationships with existing or potential customers could be harmed.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We experience elements of seasonal fluctuations in the food service technology and POS markets which could cause
        our stock price to fluctuate.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our food service technology business is highly dependent on the behavior patterns of our customers and their guests. Restaurants typically reduce
        purchases of equipment in the fourth calendar quarter due to the increased volume of transactions during the holiday period, which may negatively impact sales of our food service technology products or POS printers during that period. As a result,
        seasonality may cause fluctuations in our financial results, and other trends that develop may similarly impact our results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to Product Development</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our revenue and profitability depend on our ability to continue to develop or license, on a timely basis, new
        products and technologies which are free from hardware or software anomalies and cannot be fraudulently manipulated, and customer acceptance of such products.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our success depends upon our, and our development partners&#8217;, ability to timely adapt our capabilities and processes to meet the demands of producing new
        and innovative products.&#160; Because our newer products contain software and generally are more technologically sophisticated than those we have produced in the past, we must continually refine our capabilities to meet the needs of our product
        innovation. In addition, the food service technology industry continues to experience technological developments and innovations (such as the use of artificial intelligence and machine learning), and if we are unable to provide enhancements and new
        features and integrations for our existing platform, or if we are unable to efficiently adapt our infrastructure to meet the needs of our product innovations in a timely manner, our business could be negatively impacted.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, even if we, or developers on our behalf, successfully develop such products, there is no assurance that our innovations will be accepted by
        our customers.&#160; Developing and marketing new products, such as our line of BOHA! products, is costly, and our business could be materially adversely affected if we are unable to generate sales of such products or if our existing or new customers do
        not quickly accept such products.&#160; Customer acceptance is crucial because new products typically have little competition and market penetration due to their novelty.&#160; Customer acceptance of new products is never assured and may take time to
        materialize, even with respect to products developed with customer input. In addition, we may not be able to obtain necessary registrations, licenses, permits or regulatory approvals for new products in the casino and gaming market on a timely
        basis or at all, which may adversely affect our ability to develop such products. Further, technological innovation often results in unintended consequences such as bugs, vulnerabilities, and other system failures. Any such bug, vulnerability, or
        failure, especially in connection with a significant technical implementation or change, could result in lost business, harm to our brand or reputation, consumer complaints, and other adverse consequences, any of which could materially adversely
        affect our business, results of operations, and financial condition.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">10</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to Intellectual Property and Data Security</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Cybersecurity and privacy breaches, cyber-attacks, or other disruptions could expose us to liability, affect our
        business, and damage our reputation.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We are increasingly dependent on our information technology systems and infrastructure for our business. We collect, store, and transmit sensitive
        information including intellectual property, proprietary business information and personal information of employees and, to a lesser extent, customers in connection with business operations. The secure maintenance of this information is critical to
        our operations and business strategy. Some of this information could be an attractive target of criminal attack by third parties with a wide range of motives and expertise, including organized criminal groups, disgruntled current or former
        employees, and others. Cyber-attacks are of ever-increasing levels of sophistication, and despite our extensive security measures, our information technology and infrastructure may be vulnerable to such attacks or may be breached, including due to
        employee error or malfeasance.&#160; Further, our BOHA! applications are hosted within cloud platforms that are managed by third parties.&#160; Any such breach could compromise our networks and the information stored there could be accessed, publicly
        disclosed, lost or stolen, and our business operations may be interrupted. If our systems become compromised, we may not promptly discover the intrusion. In addition, the techniques used to obtain unauthorized access to networks, or to sabotage IT
        systems, change frequently, including through the use of artificial intelligence and generally are not recognized until launched against a target.&#160; We may be unable to anticipate these techniques or to implement adequate preventative measures.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>Like other companies in our industry, we have experienced attacks to our data and systems, including malware and computer viruses that we have been able to detect
        and eliminate.&#160; In addition, as disclosed on November 16, 2022, a criminal cybersecurity incident temporarily impacted our operational and information technology systems. If our systems fail or are breached or disrupted by other future attacks, we
        could lose product sales, and suffer reputational damage and loss of customer confidence. Such incidents could require notification to affected individuals and may result in legal claims or proceedings and liability under federal and state laws
        that protect the privacy and security of personal information. If third parties use a cyber-attack to gain access to our proprietary information, they may sell it or use it to duplicate our products, which could put us at a competitive
        disadvantage. Any one of these events could cause our business to be materially harmed and our results of operations to be adversely impacted, and there can be no assurance that the insurance that we maintain to address certain aspects of
        cybersecurity risks will be sufficient to cover all losses or all types of claims that may arise.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">These risks may be exacerbated by global political unrest.&#160; For example, the Russia&#8211;Ukraine conflict and related sanctions imposed by the U.S. government
        may expose government entities and public and private U.S. companies to attempted or actual cyber-security attacks launched in retaliation, and these attacks could materially disrupt our supply chain or our systems and operations or those of our
        customers and suppliers.&#160; See Part I, Item 1C. Cybersecurity, of this Form 10-K discussed below for information regarding our cybersecurity risk management practices.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">The inability to protect our intellectual property rights could harm our reputation, damage our business or
        interfere with our competitive position.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our intellectual property is valuable and provides us with certain competitive advantages.&#160; Copyrights, patents, trademarks, service marks, trade
        secrets, technology licensing agreements, nondisclosure agreements and contracts are used to protect these proprietary rights. Despite these precautions, it may be possible for third parties to copy aspects of our products or, without
        authorization, to obtain and use information that we regard as trade secrets.&#160; Our pending patents may be denied, and our patents may be circumvented by our competitors. In addition, the laws of some foreign countries do not protect our proprietary
        rights as fully as do the laws of the United States. There can be no assurance that our means of protecting our proprietary rights in the United States or abroad will be adequate or that competing companies will not independently develop similar
        technologies. Our failure to adequately protect our proprietary rights could have a material adverse effect on our competitive position and our business.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Prosecuting or defending against intellectual property litigation could be time consuming and costly, and claims
        that we have infringed upon the intellectual property rights of others could impede our business and put us at a competitive disadvantage.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Prosecuting and defending against intellectual property litigation is generally complex, costly, protracted, and highly disruptive to business operations
        by diverting the attention and energies of management and key technical personnel.&#160; We are committed to aggressively asserting and defending our technology and related intellectual property rights, which we have spent a significant amount of money
        to develop.&#160; Similarly, third parties have claimed and may claim, from time to time in the future, that we have violated their intellectual property rights. In the event that a court rules that we have violated a third party&#8217;s patent or other
        intellectual property rights, we may be prevented from operating our business as planned and may be required to pay damages, to obtain a license, if available, or to use a non-infringing method, if possible, to accomplish our objectives. Litigation
        relating to any such claims could be costly and, if successful, could result in costly judgments or settlements, and there can be no assurance that a license or a substitute technology will be available on favorable terms, or at all. Any such
        outcome could have a material adverse effect on our business, financial condition and results of operations.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">11</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <!--PROfilePageNumberReset%Num%12%%%-->
      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to Our Partners and Suppliers</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We rely on an unrelated third party to develop, maintain and host certain portions of our food service technology
        software, and any disruption in the relationship with that third party, or any defects in the software provided by that third party, could have a material adverse effect on our reputation, business, financial condition and results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We rely upon third party developed software and hosting services combined with our own proprietary hardware and software to offer our unique BOHA!
        branded solution to support back-of-house operations in the food service industry.&#160; Certain web-based food service application software and selected components of our downloadable software applications are licensed from a third party developer on a
        non-exclusive basis through 2031 and are subject to a revenue sharing arrangement with the developer. We are reliant upon the third party developer to further develop and maintain its developed software, and the developer controls the software
        source code.&#160; Therefore, presently, we are highly dependent on this third party developer for continued service to our customers and the further development of our food service technology software products.&#160; If the software provider were to
        terminate operations or otherwise be unavailable to provide maintenance, hosting and development services to us and our customers, the availability or usage of our software products could be disrupted and our customers could be adversely affected.&#160;
        In any such case, we may need to seek comparable software and services from other third parties or develop it internally, which could require significant time and expense. There can be no assurance that such software or services would be available
        from other sources, or that if available, they would be of comparable quality and cost.&#160; Moreover, any efforts to develop new software, whether internal or by third parties, would require significant lead time, and there could be an interruption in
        service during any period in which the software provider ceases to provide products and services and new products remain under development. Any such occurrence could materially and adversely impact our business, financial condition and results of
        operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any errors or defects in, or failures of, third party software or applications could result in errors or defects in or failures of our food service
        technology products and services, which could be costly to correct and have a material adverse effect on our reputation, business, financial condition and results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We are currently dependent upon a manufacturer located in Thailand for the manufacturing and assembly of
        substantially all of our printers and terminals, and any further or future disruption in the businesses or operations of this manufacturer, such as those caused by the COVID-19 pandemic, political, social or economic instability, war, trade
        restrictions or tariffs, severe weather, changes in climate, additional public health crises and other events out of our control could materially adversely affect our business, financial condition and results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In an effort to maximize cost savings and operational benefits, we have outsourced substantially all of the manufacturing and assembly of our printers
        and terminals to a contract manufacturer located in Thailand.&#160; As a result, we are dependent on them for the manufacturing of our products, and any disruption in such manufacturing or the export of products from this manufacturer to the U.S. may
        adversely affect our business, financial condition and results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Risks affecting the businesses and operations of our manufacturer in Thailand include: political and regional strife; war; labor shortages; severe
        weather and natural disasters such as earthquakes, hurricanes, fires, and floods, whether as a result of climate change or otherwise; lengthy power outages; increased pricing, financial instability and capacity constraints of shippers; government
        imposition of tariffs which may impact the cost or availability of products or components that we purchase; and concerns with or threats of public health crises, contagious diseases or health epidemics.&#160; Though we are seeking a second source, the
        risk to our business posed by any disruption in manufacturing is exacerbated by the concentration of substantially all of our manufacturing operations in one manufacturer located in Thailand.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">If the contract manufacturer is unable to manufacture our products or continue operating its facilities, as occurred in connection with the COVID-19
        pandemic, we will have limited means for the final assembly of a majority of our products until we are able to secure the manufacturing capability at another facility or develop an alternative manufacturing facility, which could be costly and time
        consuming and have a material adverse effect on our operating and financial results.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We may also incur increased business continuity and reputational risks to the extent that we continue to outsource the manufacturing and assembly of our
        products to foreign third party service providers.&#160; For example, outsourcing of manufacturing prevents us from exercising control over the assembly of certain of our products and related operations or processes, including the internal controls
        associated with operations and processes conducted and the quality of our products assembled by contract manufacturers.&#160; If we are unable to effectively manage and oversee our outsourcing strategy, we may not realize cost structure efficiencies and
        our operating and financial results could be materially adversely affected.&#160; Outsourcing also exposes us to increased risk of infringement or misappropriation of our intellectual property, to which our manufacturers have access.&#160; Because our
        manufacturer is located in Asia, there is no guarantee that our intellectual property rights will be protected or enforced to the same extent as under U.S. federal and state laws. Consequently, we may not be able to prevent third parties from
        developing or selling products made using our technologies.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We rely on distributors and resellers to sell our products and services.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We use a variety of distribution channels, including OEMs and distributors, to market and sell our products and services.&#160; We may be adversely impacted
        by any conflicts that could arise between and among our various sales channels.</div>

      <div><br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">12</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our dependence upon distributors and resellers exposes us to numerous risks, including:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">loss of channel and the ability to bring new products to market;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">concentration of credit risk, including disruption in distribution should the distributors, and / or resellers&#8217; financial condition deteriorate;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">reduced visibility to end user demand and pricing issues which makes forecasting more difficult;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">distributors or resellers leveraging their buying power to change the terms of pricing, payment and product delivery schedules; and</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">direct competition should a distributor or reseller decide to manufacture printers internally or source printers from a competitor.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We cannot guarantee that resellers will not reduce, delay or eliminate purchases from us, which could have a material adverse effect upon the business,
        consolidated results of operations and financial condition.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We currently rely on third party service providers to host our food service technology software and deliver
        certain services, and any interruptions or delays in services from these third parties could impair the delivery of our products and services, and our business, results of operations, and financial condition could be materially adversely affected.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We rely on a third party service provider to host our food service technology software. Third parties also provide services to key aspects of our
        operations, including Internet connections and networking, data storage and processing, trust and safety and security infrastructure.&#160; We do not control the operation, physical security, or data security of any of these third party providers. Our
        efforts to use commercially reasonable diligence in the selection and retention of such third party providers may be insufficient or inadequate to prevent or remediate such operational and security risks. Our third party providers may be subject to
        intrusions, computer viruses, denial-of-service attacks, sabotage, acts of vandalism, acts of terrorism or other misconduct. They are vulnerable to damage or interruption from power loss, telecommunications failures, fires, floods, earthquakes,
        hurricanes, tornadoes, and similar events, and they may be subject to financial, legal, regulatory, and labor issues, each of which may impose additional costs or requirements on us or prevent these third parties from providing services to us or
        our customers on our behalf. From time to time, our software maintained by these third parties has experienced brief interruptions in service which we have been able to resolve promptly by working with the third party providers, and there may be
        future such interruptions that could have a material adverse effect on our customer relationships or be more costly or time-consuming to resolve.&#160; In addition, these third parties may breach their agreements with us, disagree with our
        interpretation of contract terms or applicable laws and regulations, refuse to continue or renew these agreements on commercially reasonable terms or at all, fail to or refuse to process transactions or provide other services adequately, take
        actions that degrade the functionality of our platform and services, increase prices, impose additional costs or requirements on us or our customers, or give preferential treatment to our competitors. If we are unable to procure alternatives in a
        timely and efficient manner and on acceptable terms, or at all, we may be subject to business disruptions, losses, or costs to remediate any of these deficiencies. The occurrence of any of the above events could result in reputational damage, legal
        or regulatory proceedings, loss of customers or other adverse consequences, any of which could materially adversely affect our business, results of operations, and financial condition.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to Competition, Sales and Marketing</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We compete in highly competitive markets, which are likely to become more competitive. Competitors may be able to
        respond more quickly to new or emerging technology and changes in customer requirements.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We face significant competition in developing and selling our printers, terminals, software, consumables and services.&#160; Our principal competitors have
        substantial marketing, financial, development and personnel resources.&#160; To remain competitive, we believe we must continue to provide:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">technologically advanced products that satisfy user demands;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">superior customer service;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">high levels of quality and reliability; and</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">dependable and efficient distribution networks.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We cannot ensure we will be able to compete successfully against current or future competitors.&#160; Increased competition may result in price reductions,
        lower gross profit margins and loss of market share, and could require increased spending on research and development, sales and marketing and customer support.&#160; For example, we believe our largest competitor in the casino and gaming market has
        begun to resume supplying product and will likely continue to do so at an increasing rate throughout 2024, which we anticipate will result in a more competitive environment in the casino and gaming market going forward and may cause downward
        pricing pressure or a loss of market share that we believe we have gained while the competitor was unable to supply product.&#160; Any such occurrence could negatively impact our worldwide casino and gaming sales.&#160; In addition, some competitors may make
        strategic acquisitions or establish cooperative relationships with suppliers or companies that produce complementary products, which may include relationships with our software developer.&#160; Any of these factors could reduce our earnings.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">13</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our food service technology market operates in an emerging and evolving industry, which makes it difficult to
        evaluate the future prospects of this market.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We launched our BOHA! offering in 2019 and have grown our food service technology significantly since then.&#160; This is still an emerging market that is
        continually evolving as technology develops to automate back-of-house tasks that were historically performed manually.&#160; This evolving nature of the food service technology market may make it difficult to evaluate our future prospects in this market
        and the risks and challenges we may encounter. These risks and challenges include, but are not limited to, our ability to:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">accurately forecast our revenue and plan our operating expenses;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">increase the number of customers (and retain existing customers and their guests) using our platform;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">successfully compete with current and future competitors;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">successfully expand our market presence in existing markets and enter new markets and geographies;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">maintain and enhance the value of our reputation and brand;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">develop and maintain strategic relationships with other market participants that provide complementary products;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">adapt to rapidly evolving trends in the ways our customers interact with technology, including through the use of emerging artificial intelligence and machine
                learning technologies;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">timely respond to customer needs with technology developments that enable our products to evolve to meet the changing demands of the marketplace;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">avoid interruptions or disruptions in our service;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">manage the risk of loss relating to food safety issues if there is a failure of our offerings designed to help in part to assure perishable goods are safely
                preserved;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to Our Customers</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We are dependent on sales to one large customer; the loss of this customer or reduction in orders from this
        customer could materially affect our sales.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming sales and lottery printer spare parts sales to IGT represent a material percentage of our net sales.&#160; A reduction, delay or
        cancellation in orders from this customer, including reductions or delays due to market, economic, or competitive conditions in the industries in which we serve, could have a material adverse effect upon our results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Associated with Determining and Pursuing Strategic Initiatives and Business Growth</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our success may depend in part on our ability to identify and pursue the best long-term strategy for our business.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have engaged a strategic advisor to assist in determining the best long-term strategy for the business. Accordingly, we may seek to pursue any number
        of alternative strategies, which may include acquisitions, dispositions, financings and/or the development and implementation of new strategies designed to grow our business. Regardless of what strategy we ultimately determine to pursue, we
        continue to seek to grow our business. Assuming growth occurs, it will require the expansion of customer relationships in domestic and international markets, the successful development and marketing of new products for our existing and new
        customers, expanded internal sales and marketing, customer service and support, the continued implementation and improvement of our operational, financial and management information systems and the dedication of a significant amount of additional
        resources and increased expenditures to support such additional resources.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">No timetable has been established for our review of the best long-term strategy for our business, and we do not intend to disclose developments or
        provide updates on the progress or status of our ongoing review until our Board of Directors deems such disclosure is appropriate or required. During the course of this review, perceived uncertainties related to our future may result in the loss of
        potential business opportunities and volatility in our stock price and may make it more difficult for us to attract and retain qualified personnel and business partners.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Acquisitions, dispositions and other strategic transactions involve a number of risks, including: (i) the potential disruption of our ongoing business;
        (ii) the distraction of management away from the ongoing oversight of our existing business activities; (iii) if we determined to pursue a disposition strategy, we may not be able to identify, pursue and close a transaction that provides adequate
        value to the Company and its stockholders; (iv) the potential departure of key personnel during the negotiation or pendency of a transaction; (v) the loss or reduction of control over certain of our assets; (vi) the anticipated benefits and cost
        savings of those transactions not being realized fully, or at all, or taking longer to realize than anticipated; (vii) an increase in the scope and complexity of our operations or the management of our business subsequent to a transaction; (viii)
        incurring additional indebtedness or the potential sale of additional shares of our common stock in public or private offerings to finance acquisitions or strategic transactions, which may be dilutive to existing stockholders or cause the price of
        our common stock to decline; and (ix) the depletion of cash to pay for an acquisition.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">14</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>
<div>
      There can be no assurance that we will be able to successfully implement a growth strategy, or that we can successfully manage expanded operations, if they occur.&#160; If we expand, we may from time-to-time experience constraints that will adversely
      affect our ability to satisfy customer demand in a timely fashion.&#160; Failure to manage growth effectively could adversely affect our results of operations and financial condition.
      </div>
<div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Further, there can be no assurance that we will find suitable opportunities for strategic transactions at acceptable prices or on acceptable terms, be
        successful in negotiating required agreements, obtain sufficient financing on acceptable terms or at all if necessary, successfully close transactions after signing such agreements, or that any resulting transaction will have a positive effect on
        stockholder value. A strategic transaction may result in a significant change in the nature of our business, operations and strategy, and we may encounter unforeseen obstacles or costs in implementing a strategic transaction.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to Our International Operations</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">In addition to maintaining offices in the UK, Macau and Thailand, we sell and ship a significant portion of our
        products internationally and rely on third parties that make up part of our global salesforce.&#160; The international nature of our operations may expose us to certain risks associated with doing business outside of the U.S., including risks posed by
        tariffs and changes in trade relations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We sell a significant amount of our products to customers outside the United States. Shipments to international customers are expected to continue to
        account for a material portion of net sales. In addition, our manufacturer and suppliers are largely located in Asia.&#160; As a result, our products are largely exported to one of our facilities in the United States, which makes our operations
        vulnerable to disruptions in trade that could adversely affect our business results.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our international operations, including our reliance on manufacturers and suppliers located in Asia, our worldwide sales team, and our sales to customers
        located outside the United States, expose us to disruptions in trade and other associated risks such as:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">the imposition of additional duties, tariffs, quotas, taxes, trade barriers, capital flow restrictions and other charges on imports and exports by the United States
                or the governments of the countries in which we or our manufacturers and suppliers operate;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">delays in the delivery of cargo due to port security considerations, labor disputes such as dock strikes, and our reliance on a limited number of shipping and air
                carriers, which may experience capacity issues that adversely affect our ability to ship inventory in a timely manner or for an acceptable cost;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">fluctuations in the value of the U.S. dollar against foreign currencies, which could restrict sales, or increase costs of purchasing, in foreign countries;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">economic or political instability in any of the countries in which we or our manufacturers or suppliers operate, which could result in a reduction in demand for our
                products due to political and economic instability or impair our foreign assets;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">a reduced ability or inability to sell in or purchase from certain markets as a result of export or import restrictions;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">potentially limited intellectual property protection in certain countries, such as China, may limit recourse against infringing products or cause us to refrain from
                selling in certain geographic territories;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">difficulties staffing and managing foreign operations; and</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">economic uncertainties and adverse economic conditions (including inflation and recession).</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our business interruption insurance does not cover all possible situations, and there can be no assurance that the coverage would be adequate to
        compensate us for all losses that may occur in the event of a disruption.&#160; In addition, the business interruption insurance would not compensate us for the loss of opportunity and potential adverse impact, both short-term and long-term, on
        relations with our existing customers resulting from our inability to produce products for them.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to Regulations, Taxation, Governance and the Environment</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">If market conditions deteriorate or future results of operations are less than expected, a valuation allowance may
        be required for all or a portion of our deferred tax assets.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We currently have deferred tax assets, which may be used to reduce taxable income in the future.&#160; We assess the realization of these deferred tax assets
        on a quarterly basis, and if we determine that it is more likely than not that some portion of these assets will not be realized, an income tax valuation allowance is recorded.&#160; If market conditions deteriorate or future results of operations are
        less than expected, or there is a change to applicable tax rules, future assessments may result in a determination that it is more likely than not that some or all of our net deferred tax assets are not realizable.&#160; As a result, we may need to
        establish a valuation allowance for all or a portion of our net deferred tax assets, which may have a material adverse effect on our business, results of operations and financial condition.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">15</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Changes in tax rates or tax liabilities could affect results.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We are subject to taxation in the United States and certain state and foreign jurisdictions. Significant judgment is required to determine and estimate
        our tax liabilities. Our future annual and quarterly tax rates could be affected by numerous factors, including changes in the (1) applicable tax laws; (2) composition of earnings in countries with differing tax rates; or (3) recoverability of our
        deferred tax assets and liabilities. Beginning in 2022, the U.S. Tax Cuts and Jobs Act of 2017 (&#8220;TCJA&#8221;) eliminated the existing option to deduct research and development expenditures and requires taxpayers to amortize them over five years pursuant
        to IRC Section 174. The requirement is not expected to materially impact our cash flows.&#160; Any of these developments or any future changes in federal, state, or international tax laws or tax rulings could adversely affect our effective tax rate and
        our results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to our Indebtedness</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">The agreement governing our credit facility contains restrictions and limitations that could significantly affect
        our ability to operate our business, as well as significantly affect our liquidity.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The loan and security agreement (the &#8220;Loan and Security Agreement&#8221;) governing the Siena Credit Facility contains a number of significant covenants that
        could adversely affect our ability to operate our business, our liquidity, and our results of operations. These covenants restrict, among other things, our ability, and the ability of any future domestic subsidiary, to:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">merge, consolidate, form subsidiaries or dispose of assets;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">acquire assets outside the ordinary course of business;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">enter into other transactions outside the ordinary course of business;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">sell, transfer, return or dispose of collateral;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">make loans to or investments in, or enter into transactions with, affiliates;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">incur or guarantee indebtedness, incur liens;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">redeem equity interests while borrowings are outstanding under the credit facility;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">change our capital structure; or</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">dissolve, divide, change our line of business or cease or suffer a disruption to all or a material portion of our business.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additionally, the Loan Agreement requires us to comply with a minimum excess availability covenant, which requires excess borrowing availability of at
        least $750 thousand and the Loan Agreement requires us to maintain outstanding borrowings of at least $2,250,000 in principal amount. The breach of any covenants or obligations in the Loan Agreement, if not otherwise waived or amended, could result
        in a default under the Loan Agreement and could trigger acceleration of our obligations thereunder and permit the lender to foreclose on the collateral securing our obligations under the Loan Agreement and exercise other rights of secured
        creditors.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Availability under the Siena Credit Facility is subject to a borrowing base, which is based on eligible accounts receivable and inventory. To the extent
        that our eligible accounts receivable and inventory decline in value, our borrowing base will decrease, and the availability under the Siena Credit Facility currently is and may continue to be less than its stated amount and may decrease. In
        addition, if at any time the amount of outstanding borrowings and letters of credit under that facility exceeds the borrowing base, we are required to prepay borrowings and/or cash collateralize letters of credit sufficient to eliminate the excess.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our ability to comply with the covenants under the Loan Agreement or to maintain our borrowing base may be affected by events beyond our control,
        including deteriorating economic conditions.&#160; For example, reductions in the value of accounts receivable and inventory may occur in the future due to decreases in sales and production resulting from the impact of future economic uncertainties.&#160;
        Further, certain slow-moving inventory and accounts receivable that remain unpaid for a specified period of time are excluded from the borrowing base calculation. Thus, a decline in economic conditions and/or a decline in the financial condition of
        customers in the industries we serve may negatively impact the borrowing base both by decreasing the value of existing accounts and reducing the number and amount of new accounts. If we overestimate our inventory needs due to the uncertainty
        surrounding future economic conditions, we may have inventory that is considered slow-moving and thus excluded from the borrowing base calculation, and any reduction in production in response to decreased demand would also result in a lower
        inventory value and thus a lower borrowing base.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any of these events could require us to seek waivers or amendments of covenants or alternative sources of financing or to reduce expenditures. We cannot
        assure you that such waivers, amendments or alternative financing could be obtained, or if obtained, would be on terms acceptable to us, or that we would be able to reduce expenditures enough to offset any decrease in the borrowing base, or that we
        could make such reductions without a material negative impact on our business.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">16</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">General Risk Factors</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">General economic conditions could have a material adverse effect on our business, operating results and financial
        condition.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our business is subject to general economic conditions.&#160; Uncertainty or negative trends in U.S. or international economic and investment climates,
        including the impact of developments in U.S.-China trade relations, as well as economic impacts from the Russia-Ukraine conflict and the Middle East conflict, and the current inflation surge attributable in part to supply chain disruptions, could
        adversely affect our business.&#160; For example, customers or potential customers could reduce or delay orders, key suppliers could become insolvent, which could result in production delays, and our customers may become insolvent or be unable to obtain
        credit.&#160; Any of these possible effects could impact our ability to effectively manage inventory levels and collect receivables, create unabsorbed costs due to lower net sales, and ultimately decrease our net sales and profitability including
        write-downs of assets.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our stock price may fluctuate significantly.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The market price of our common stock could fluctuate significantly in response to variations in quarterly operating results and other factors, such as:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">prevailing domestic and international market and economic conditions, and conditions in the industries we serve, including current market volatility, inflation and
                rising interest rates and any lingering economic impacts of the COVID-19 pandemic;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">adverse business conditions faced by customers, or bankruptcies or store closures of our customers resulting from adverse economic conditions due to inflation or
                otherwise;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in our business, operations or prospects;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">developments in our relationships with our customers or strategic partners;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">announcements of new products or services by us or by our competitors;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">announcement or completion of acquisitions by us or by our competitors;</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in existing, or adoption of additional, government regulations; and</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">unfavorable or reduced analyst coverage.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, the stock market may experience significant price fluctuations year-to-year.&#160; Broad market fluctuations, general economic conditions and
        specific conditions in the industries in which we operate may adversely affect the market price of our common stock.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Unfavorable analyst coverage or a reduction in analyst coverage of our common stock may adversely affect the price
        of our common stock.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The trading market for our common stock relies in part on the research and reports that industry or financial analysts may publish about us, our
        business, our markets and our competitors. We currently have limited analyst coverage, and many investment banks no longer find it profitable to provide securities research on micro-cap and small-cap companies.&#160; If securities analysts do not cover
        our common stock in the future, the lack of research coverage may adversely affect the market price of our common stock. Furthermore, if one or more of the analysts who cover us downgrade our stock, or if those analysts issue other unfavorable
        commentary about us or our business, our stock price may decline.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our common stock is traded on the Nasdaq Global Market.&#160; During the year ended December 31, 2023, the average daily trading volume for our common stock
        as reported by the Nasdaq Global Market was approximately 22,000 shares.&#160; We are uncertain whether a more active trading market in our common stock will develop.&#160; As a result, relatively small trades may have a significant impact on the market
        price of our common stock, which could increase the volatility and depress the price of our common stock.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our common stock is thinly traded, and investors may be unable to sell their shares at their desired prices, or at
        all, and sales of large blocks of shares may adversely affect the price of our common stock.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our common stock has historically been sporadically or &#8220;thinly&#8221; traded, meaning that the number of persons interested in purchasing shares of our common
        stock at prevailing prices at any given time may be relatively small. This could lead to wide fluctuations in our share price. Investors may be unable to sell their common stock at or above their purchase price, which may result in substantial
        losses. As a consequence of this lack of liquidity, the trading of relatively small quantities of shares by our stockholders may disproportionately influence the price of shares of our common stock in either direction. The price of shares of our
        common stock could, for example, decline precipitously in the event a large number of shares of our common stock are sold on the market without commensurate demand, while an issuer with a more robust daily trading volume for its common stock might
        better absorb those sales without an adverse impact on its share price.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">17</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">If we raise additional capital in the future, existing stockholder ownership interest in the Company could be
        diluted or otherwise adversely impacted, and future sales of our common stock or other financing arrangements may cause our stock price to decline.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the future, we may sell additional shares of our common stock in public or private offerings, or we may obtain funds through a credit facility or by
        issuing debt or preferred securities. We may also issue additional shares of our common stock to finance future acquisitions. Shares of our common stock are also available for future issuance and sale pursuant to stock options and other equity
        awards that we have granted to our employees, and in the future, we may grant additional stock options, restricted stock units and other forms of equity compensation to our employees. Any issuance of equity we may undertake in the future to raise
        additional capital could cause the price of our common stock to decline, or require us to issue shares at a price that is lower than that paid by holders of our common stock in the past, which would result in those newly issued shares being
        dilutive. Sales of our common stock or the perception that such sales could occur may adversely affect prevailing market prices for shares of our common stock and could impair our ability to raise capital through future offerings. The lender under
        our existing debt agreement has rights that are senior to your rights as a common stockholder, and if we obtain funds in the future through a credit facility or through the issuance of debt or preferred securities, the lenders of such facility or
        the holders of such securities would likely also have rights senior to the rights of our common stockholders, which could impair the value of our common stock.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We do not intend to pay dividends for the foreseeable future, so investors must rely on price appreciation to
        realize a gain on their investment.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have not declared or paid cash dividends on our capital stock since November 2019.&#160; We currently intend to retain any future earnings to finance our
        operations and the expansion of our food service technology business, and we do not anticipate declaring or paying any dividends to holders of our common stock in the foreseeable future. Any determination to pay dividends in the future will be at
        the discretion of our Board of Directors. Accordingly, investors must rely on sales of their common stock after price appreciation, which may never occur, as the only way to realize future gains on their investments.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We cannot provide any assurance that current laws, or any laws enacted in the future, will not have a material
        adverse effect on our business.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our operations are subject to laws, rules, regulations, including environmental regulations, government policies and other requirements in a variety of
        jurisdictions, including those in which we conduct business.&#160; Changes in such laws, rules, regulations, policies or requirements could result in the need to modify our products, could delay the development of new products and could affect the
        demand for our products, which may have an adverse impact on our future operating results.&#160; If we do not comply with applicable laws, rules and regulations we could be subject to costs and liabilities and our business may be adversely impacted.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We take advantage of specified scaled disclosure requirements applicable to a &#8220;smaller reporting company&#8221; under
        Regulation S-K, and the information that we provide to stockholders may therefore be different than they might receive from other public companies. If some investors find our shares of common stock less attractive as a result of this scaled
        disclosure, there may be a less active trading market for our shares of common stock, which may increase the volatility of the market price of our common stock.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We are a &#8220;smaller reporting company,&#8221; as defined in Item 10(f)(1) of Regulation S-K. As a smaller reporting company, we take advantage of specified
        scaled disclosure and other requirements that are otherwise applicable generally to public companies.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We intend to continue to take advantage of certain of the scaled disclosure requirements of smaller reporting companies and may continue to do so until
        we are no longer a smaller reporting company. We will cease to be a smaller reporting company if we have (i) equal to or greater than $250 million in market value of our shares held by non-affiliates as of the last business day of our second fiscal
        quarter and (ii) if the market value of our shares held by non-affiliates does not exceed $700 million as of the last business day of our second fiscal quarter, equal to or greater than $100 million of annual revenues in our most recent fiscal
        year. We choose to take advantage of some but not all of these scaled disclosure requirements; therefore, the information that we provide stockholders may be different than one might get from other public companies. If some investors find our
        shares of common stock less attractive as a result, there may be a less active trading market for our shares of common stock and the market price of such shares of common stock may be more volatile.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our Amended and Restated By-Laws designate certain Delaware courts as the sole and exclusive forum for certain
        types of actions and proceedings that may be initiated by our stockholders, which could limit our stockholders&#8217; ability to obtain a favorable judicial forum for disputes with us or our directors, officers or stockholders.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our Amended and Restated By-Laws (the &#8220;By-Laws&#8221;) provide that, unless we consent in writing to the selection of an alternative forum, to the fullest
        extent permitted by law, all Internal Corporate Claims must be brought solely and exclusively in the Court of Chancery of the State of Delaware (or, if such court declines to accept jurisdiction, the Superior Court of the State of Delaware, or, if
        such other court declines to accept jurisdiction, the United States District Court for the District of Delaware). The By-Laws define &#8220;Internal Corporate Claims&#8221; to mean claims, including claims in the right of the Company, brought by a current or
        former stockholder (including a current or former beneficial owner) (i) that are based upon a violation of a duty by a current or former director or officer or stockholder in such capacity or (ii) as to which the General Corporation Law of the
        State of Delaware confers jurisdiction upon the Court of Chancery of the State of Delaware.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">This choice of forum provision may increase costs to bring a claim, discourage claims or limit a stockholder&#8217;s ability to bring a claim in a judicial
        forum that it finds favorable for disputes with us or our directors, officers or other stockholders, which may discourage such lawsuits against us and our directors, officers and stockholders. Alternatively, if a court were to find this choice of
        forum provision inapplicable to, or unenforceable in respect of, one or more of the specified types of actions or proceedings, we may incur additional costs associated with resolving such matters in other jurisdictions, which could adversely affect
        our business, financial condition or results of operations. The choice of forum provision in the By-Laws will not preclude or contract the scope of exclusive federal or concurrent jurisdiction for actions brought under the federal securities laws
        including the Exchange Act or the Securities Act or the respective rules and regulations promulgated thereunder.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">18</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 1B<a id="Item1B"><!--Anchor--></a>. Unresolved Staff Comments.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 1C<a id="Item1C"><!--Anchor--></a>. Cybersecurity</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Risk Management and Strategy</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company&#8217;s Board of Directors recognizes the critical importance of maintaining the trust and confidence of our customers, clients, business partners
        and employees. The Board of Directors is actively involved in oversight of the Company&#8217;s risk management program, and cybersecurity represents an important component of the Company&#8217;s overall approach to enterprise risk management (&#8220;ERM&#8221;). The
        Company&#8217;s cybersecurity policies, standards, processes and practices are fully integrated into the Company&#8217;s ERM program and are based on recognized frameworks established by the National Institute of Standards and Technology, the International
        Organization for Standardization and other applicable industry standards. In general, the Company seeks to address cybersecurity risks through a comprehensive, cross-functional approach that is focused on preserving the confidentiality, security
        and availability of the information that the Company collects and stores by identifying, preventing and mitigating cybersecurity threats and effectively responding to cybersecurity incidents when they occur.&#160; As one of the critical elements of the
        Company&#8217;s overall ERM approach, the Company&#8217;s cybersecurity program is focused on the following key areas:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Governance:</span> As discussed in more detail under the heading
                &#8220;Governance,&#8221; the Board of Directors&#8217; oversight of cybersecurity risk management is supported by the Audit Committee of the Board of Directors (the &#8220;Audit Committee&#8221;), which regularly interacts with the Company&#8217;s ERM function, the Company&#8217;s
                Vice President of Information Technology, other members of management and relevant management committees and councils, including management&#8217;s Sarbanes-Oxley &amp; Cybersecurity Steering Committee.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Collaborative Approach:</span> The Company has implemented a
                comprehensive, cross-functional approach to identifying, preventing and mitigating cybersecurity threats and incidents, while also implementing controls and procedures that are designed to provide for the prompt and appropriate internal
                reporting of certain cybersecurity incidents, either in the form of a single unauthorized occurrence or a series of unauthorized occurrences, so that decisions regarding the public disclosure and reporting of such incidents can be made by
                management in a timely manner.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Technical Safeguards:</span> The Company deploys technical safeguards
                that are designed to protect the Company&#8217;s information systems from cybersecurity threats, including firewalls, intrusion prevention and detection systems, anti-malware functionality and access controls, which are evaluated and improved
                through vulnerability assessments and cybersecurity threat intelligence.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Incidence Response and Recovery Planning: </span>The Company has
                established and maintains comprehensive incident response and recovery plans intended to fully and timely address the Company&#8217;s response to a cybersecurity incident, and such plans are tested and evaluated on a regular basis.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Third-Party Risk Management:</span> The Company maintains a
                comprehensive, risk-based approach to identifying and overseeing cybersecurity risks presented by third parties, including vendors, service providers and other external users of the Company&#8217;s systems, as well as the systems of third parties
                that could adversely impact our business in the event of a cybersecurity incident affecting those third-party systems.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Education and Awareness:</span> The Company provides regular,
                mandatory training for personnel regarding cybersecurity threats as a means to equip the Company&#8217;s personnel with effective tools to proactively address cybersecurity threats and prevent incursions and to communicate the Company&#8217;s evolving
                information security policies, standards, processes and practices.&#160; Our awareness program includes assessment of our personnel&#8217;s preparedness through regular phishing e-mail alerts, highlighted banners that warn about external senders, and
                tests administered to help the Company&#8217;s personnel interrogate, navigate around, and avoid clicking suspicious and unfamiliar links from unknown senders.</div>
            </td>

  </tr>


</table>
      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company engages in the periodic assessment and testing of the Company&#8217;s policies, standards, processes and practices that are designed to address
        cybersecurity threats and incidents. These efforts include a wide range of activities, including audits, assessments, tabletop exercises, threat modeling, vulnerability testing and other exercises focused on evaluating the effectiveness of our
        cybersecurity measures and planning. The Company engages third parties to perform assessments on our cybersecurity measures, including information security maturity assessments, audits and independent reviews of our information security control
        environment and operating effectiveness. The results of such assessments, audits and reviews are periodically reported to the Audit Committee and the Board of Directors, and the Company adjusts its cybersecurity policies, standards, processes and
        practices as appropriate based on the information provided by these assessments, audits and reviews.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">19</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Governance</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Board of Directors, in coordination with the Audit Committee, oversees the Company&#8217;s ERM process, including the management of risks arising from
        cybersecurity threats. The Board of Directors and the Audit Committee each receive presentations and reports on cybersecurity risks, which address a wide range of topics including recent developments, evolving standards, vulnerability assessments,
        third-party and independent reviews, the threat environment, technological trends and information security considerations arising with respect to the Company&#8217;s peers and third parties. The Board of Directors and the Audit Committee also receive
        prompt and timely information regarding any cybersecurity incident that meets established reporting thresholds or that management otherwise deems to be significant, as well as ongoing updates regarding any such incident until it has been addressed.
        On an annual basis, the Board of Directors and Audit Committee discuss the Company&#8217;s approach to cybersecurity risk management with the members of management&#8217;s Sarbanes-Oxley &amp; Cybersecurity Steering Committee, which includes the Company&#8217;s
        President and Chief Financial Officer (&#8220;CFO&#8221;) and Vice President of Information Technology.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Sarbanes-Oxley &amp; Cybersecurity Steering Committee, in coordination with the Company&#8217;s outside legal counsel, works collaboratively across the
        Company and with various consultants to implement a program designed to protect the Company&#8217;s information systems from cybersecurity threats and to promptly respond to any cybersecurity incidents in accordance with the Company&#8217;s incident response
        and recovery plans. The Vice President of Information Technology has served in various roles in information technology and information security for over 25 years and holds undergraduate and graduate degrees in computer science.&#160; As described in
        more detail above under the heading &#8220;Information about our Executive Officers,&#8221; the Company&#8217;s Chief Executive Officer and the President and CFO each hold undergraduate and graduate degrees in their respective fields, and each has over 30 years of
        experience managing risks at the Company and at similar companies, including risks arising from cybersecurity threats.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cybersecurity threats, including as a result of previous cybersecurity incidents, have not materially affected, and are not reasonably likely to
        materially affect, the Company, including its business strategy, results of operations or financial condition.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 2<a id="Item2"><!--Anchor--></a>. Properties.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our principal facilities as of December 31, 2023 are listed below.&#160; We believe that all facilities generally are in good condition, adequately maintained
        and suitable for their present and currently contemplated uses.</div>

      <div style="text-align: justify;"><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 22.9%; vertical-align: bottom; border-bottom: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Location</div>
            </td>

    <td style="width: 2.31%; vertical-align: top;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; border-bottom: #000000 2px solid;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Operations Conducted</div>
            </td>

    <td style="width: 1.11%; vertical-align: bottom;">&#160;</td>

    <td style="width: 12.64%; vertical-align: bottom; border-bottom: #000000 2px solid;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Size</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(Approx. Sq. Ft.)</div>
            </td>

    <td style="width: 0.97%; vertical-align: bottom;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; border-bottom: #000000 2px solid;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Owned</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">or Leased</div>
            </td>

    <td style="width: 1.24%; vertical-align: top;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; border-bottom: #000000 2px solid;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Lease Expiration</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Date</div>
            </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Hamden, Connecticut</div>
            </td>

    <td style="width: 2.31%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Executive offices and sales office</div>
            </td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,100</div>
            </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
            </td>

    <td style="width: 1.24%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">October 31, 2025</div>
            </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Ithaca, New York</div>
            </td>

    <td style="width: 2.31%; vertical-align: top;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Hardware design and development, assembly and service facility</div>
            </td>

    <td style="width: 1.11%; vertical-align: bottom;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom;">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom;">
              <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">73,900</div>
            </td>

    <td style="width: 0.97%; vertical-align: bottom;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
            </td>

    <td style="width: 1.24%; vertical-align: top;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">May 31, 2025</div>
            </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Las Vegas, Nevada</div>
            </td>

    <td style="width: 2.31%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Software design and development and casino and gaming sales office</div>
            </td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19,600</div>
            </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
            </td>

    <td style="width: 1.24%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">November 30, 2025</div>
            </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Doncaster, UK</div>
            </td>

    <td style="width: 2.31%; vertical-align: top;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales office and service center</div>
            </td>

    <td style="width: 1.11%; vertical-align: bottom;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom;">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom;">
              <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,000</div>
            </td>

    <td style="width: 0.97%; vertical-align: bottom;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
            </td>

    <td style="width: 1.24%; vertical-align: top;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">August 24, 2026</div>
            </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Macau, China</div>
            </td>

    <td style="width: 2.31%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales office</div>
            </td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
              <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">180</div>
            </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
            </td>

    <td style="width: 1.24%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: rgb(204, 238, 255);">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">April 30, 2024</div>
            </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom;">&#160;</td>

    <td style="width: 2.31%; vertical-align: top;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom;">&#160;</td>

    <td style="width: 1.11%; vertical-align: bottom;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
              <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">110,780</div>
            </td>

    <td style="width: 0.97%; vertical-align: bottom;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom;">&#160;</td>

    <td style="width: 1.24%; vertical-align: top;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom;">&#160;</td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 3<a id="Item3"><!--Anchor--></a>. Legal Proceedings.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company may, in the ordinary course of business, become a party to litigation involving collection matters, contract claims and other legal
        proceedings relating to the conduct of its business.&#160; As of December 31, 2023, we are not involved in any pending or, to our knowledge, threatened legal proceedings, including legal proceedings contemplated by governmental authorities, the outcome
        of which we believe would be material to our financial condition or results of operations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 4<a id="Item4"><!--Anchor--></a>. Mine Safety Disclosures.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">20</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PART II</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 5<a id="Item5"><!--Anchor--></a>. Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity
        Securities.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our common stock is traded on the Nasdaq Global Market under the symbol TACT.&#160; As of February 29, 2024, there were 200 holders of record of the common
        stock.</div>

      <div style="text-align: justify;"><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Issuer Purchases of Equity Securities</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the fourth quarter of 2023, we did not repurchase any shares of our common stock.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Dividend Policy</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company does not currently pay cash dividends and does not intend to do so in the foreseeable future.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Sales of Unregistered Securities</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">None.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 6<a id="Item6"><!--Anchor--></a>. [Reserved]</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 7<a id="Item7"><!--Anchor--></a>. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">This discussion should be read in conjunction with the Consolidated Financial Statements and notes thereto.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Recent Developments</div>

      <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company engaged an advisor in the fourth quarter of 2023 to assist in determining the best long-term
        strategy for its business and ensure the Company is maximizing the value of its operations for all shareholders and stakeholders. For information regarding the risks related to our engagement with an advisor, please see Part I, Item 1A, Risk
        Factors under the sub-caption &#8220;Our success may depend in part on our ability to identify and pursue the best long-term strategy for our businesses.&#8221;</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Current Trends</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">After strong demand during the year due in part to our primary competitor&#8217;s struggle to deliver products in the face of supply chain constraints, in late
        2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain concerns advised us that they would temporarily reduce orders until their stock
        normalized. This slowdown impacted our results in the fourth quarter of 2023, and we expect this trend to continue to impact results in 2024. Further, our primary competitor in the casino and gaming market has resumed supplying product with
        increasing volume in 2024, which has begun to result in downward pricing pressure in that market and could exacerbate the demand slowdown, either of which could negatively impact our worldwide casino and gaming sales. In addition, we have
        experienced cost increases as a result of current economic conditions, most of which we have been able to offset by increasing prices of our products.&#160; However, there can be no guarantee that we will be able to increase prices sufficiently to
        offset any future such cost increases that cannot be predicted, and we may be impacted by supply chain disruptions, inflationary pressures and other global economic conditions that may affect the markets we serve and from which we source our
        supplies and parts.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For additional discussion of our business, refer to Part I, Item 1. Business, of this Form 10-K.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Critical Accounting Estimates</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The preparation of financial statements in conformity with generally accepted accounting principles in the United States of America (&#8220;GAAP&#8221;) requires
        management to make use of estimates, judgments and assumptions that affect both Balance Sheet items and Statement of Operations categories.&#160; Such estimates and judgments are based upon historical experience and certain assumptions that are believed
        to be reasonable in the particular circumstances; however, due to the inherent uncertainties in developing estimates, actual results could differ from the original estimates, requiring adjustments to these balances in future periods.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We base our estimates on historical experience, forecasts and on various other assumptions that are believed to be reasonable under the circumstances;
        however actual results may differ from those estimates under different assumptions or conditions. The methods, estimates and judgments we use in applying our accounting policies have a significant impact on the results we report in our financial
        statements. Some of our accounting policies require us to make difficult and subjective judgments, often as a result of the need to make estimates of matters that are inherently uncertain.</div>

      <div><br/>
      </div>

      <div>
        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following accounting policies are those that we believe to be most critical in the preparation of our financial statements.&#160; These items utilize
          assumptions and estimates about the effect of future events that are inherently uncertain and are therefore based on our judgment.&#160; Refer to Note 2 &#8211; Summary of significant accounting policies in the accompanying Consolidated Financial Statements
          for a complete listing of our significant accounting policies.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">We also have other policies that we consider key accounting policies; however, these policies typically
            do not require us to make estimates or judgments that are difficult or subjective.</span></div>

        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> <br/>
          </span></div>

      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">21</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Revenue Recognition</span> &#8211; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Our net sales are derived from the sale of products and services and are adjusted for estimated returns and allowances, which historically have been insignificant. </span>Application














        of GAAP related to the measurement and recognition of revenue requires us to make judgments and estimates. Specifically, the determination of whether revenues related to our revenue contracts should be recognized over time or at a point in time.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">We recognize revenue when the obligations under the terms of a contract with our customers are satisfied; generally, this occurs with the transfer of control of our printers,
          terminals, consumables and replacement parts.&#160; For our warranty, software applications and maintenance agreements, revenue is generally recognized ratably over the contract period. </span>Other significant judgments include contracts that
        contain multiple performance obligations (most commonly when contracts include a hardware product, software, financing and extended warranties) which require a contract&#8217;s transaction price to be allocated to each distinct performance obligation and
        recognized as revenue when, or as, the performance obligation is satisfied.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">For arrangements containing multiple performance obligations, the revenue relating to the
          undelivered performance obligation is deferred using the relative standalone selling price method utilizing estimated sales prices until satisfaction of the deferred performance obligation.&#160; </span>Both of these determinations impact the timing
        and amount of our reported revenues and net income and loss.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Accounts Receivable</span> &#8211; We have
        standardized credit granting and review policies and procedures for all customer accounts, including: credit reviews of all new customer accounts; ongoing credit evaluations of current customers; credit limits and payment terms based on available
        credit information; and adjustments to credit limits based upon payment history and the customer&#8217;s current creditworthiness.&#160; We also provide an estimate for expected credit losses based on <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">an expected loss methodology which considers a broad range of information to estimate expected credit losses, including historical information, current economic conditions and a reasonable forecast period</span>.&#160; Our
        reserve for expected credit losses as of December 31, 2023 was $0.8 million, or 7.0% of outstanding trade accounts receivable, which we believe is appropriate considering the overall quality of our accounts receivable.&#160; Although credit losses have
        historically been within expectations and the reserves established, there is no assurance that our credit loss experience will continue to be consistent with historical experience.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">While we believe that our allowance for credit losses is adequate and represents our best estimate of future losses, we will continue to monitor customer liquidity and other economic conditions, which may result in changes to our
          estimates.</span></div>

      <div><br/>
      </div>

      <div>
        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Inventories </span>&#8211; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">The valuation of inventory requires us to estimate obsolete or excess inventory as well as inventory that is not of saleable quality. The determination of obsolete or excess
            inventory requires us to estimate the future demand for our products. We record valuation reserves on our inventory for estimated excess and obsolete inventory and lower of cost or net realizable value concerns equal to the difference between
            the cost of inventory and the estimated realizable value based upon assumptions about future product demand, market conditions and product selling prices. If future product demand, market conditions or product selling prices are less than those
            projected by management or if continued modifications to products are required to meet specifications or other customer requirements, increases to inventory reserves may be required which would have a negative impact on our gross margin.</span></div>

      </div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Effective April 1, 2022, TransAct changed its method of inventory valuation from standard costing which approximated the &#8220;first-in, first-out&#8221; (&#8220;FIFO&#8221;)
        costing methodology to the average costing methodology. We believe this methodology is preferable because it reflects a better estimate of inventory cost as we do not typically perform intensive manufacturing of our finished products, which are
        therefore better measured under average cost.</div>

      <div style="text-align: left;"><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Goodwill and Intangible Assets</span>
        &#8211; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">We evaluate goodwill and other indefinite-lived intangible assets for impairment annually and when an event occurs or circumstances change that indicate that the
          carrying value may not be recoverable.&#160; </span>The Company utilizes the option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with the applicable
        accounting standards. Under the qualitative assessment, management considers relevant events and circumstances including, but not limited to, macroeconomic conditions, industry and market considerations, Company performance, and events directly
        affecting the Company. If the Company determines that the Step 1 quantitative impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Under the income approach, we use a discounted cash flow methodology to derive an indication of value, which requires management to make significant estimates and assumptions related to forecasted revenues, gross
          profit margins, operating income margins, working capital cash flow, perpetual growth rates, and long-term discount rates, among others.&#160; </span>Factors considered that may trigger an interim period impairment review of either acquired goodwill
        or intangible assets are: significant underperformance relative to expected historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative
        industry or economic trends; and significant decline in market capitalization relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2023, upon the completion of our annual assessment for impairment, we have determined that no goodwill or intangible asset impairment
        has occurred and the fair value of the Company was substantially higher than our carrying value.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have evaluated the recoverability of the assets on our Consolidated Balance Sheet as of December 31, 2023 in accordance with relevant authoritative
        accounting literature. We have considered the effects caused by the global supply chain disruptions, inflation and macroeconomic factors potentially impacting accounts receivable, inventory, investments, intangible assets, goodwill and other assets
        and liabilities.&#160; Where forward-looking estimates are required, we made a good-faith estimate based on information available as of the balance sheet date. We have continued to monitor for indicators of impairment through the date of this Annual
        Report on Form 10-K and reflected accordingly in the accompanying consolidated financial statements.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Income Taxes</span> &#8211; In preparing
        our Consolidated Financial Statements, we are required to estimate income taxes in each of the jurisdictions in which we operate.&#160; This involves estimating the actual current tax exposure together with assessing temporary differences between the
        tax basis of certain assets and liabilities and their reported amounts in the financial statements, as well as net operating losses, tax credits and other carryforwards.&#160; These differences result in deferred tax assets and liabilities, which are
        reflected in our Consolidated Balance Sheets.&#160; We then assess the likelihood that the deferred tax assets will be realized from future taxable income, and to the extent that we believe that realization is not likely, we establish a valuation
        allowance.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">22</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Significant judgment is required in determining the provision for income taxes and, in particular, any valuation allowance or tax reserves with respect
        to our deferred tax assets and uncertain tax positions.&#160; On a quarterly basis, we evaluate the recoverability of our deferred tax assets based upon historical results and forecasted taxable income over future years, and match this forecast against
        the basis differences, deductions available in future years and the limitations allowed for net operating loss and tax credit carryforwards to ensure that there is adequate support for the realization of the deferred tax assets. Although we have
        considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance, in the event we were to determine that we would not be able to realize all or part of our deferred tax assets
        in the future, an adjustment to the valuation allowance or tax reserves would be charged as a reduction to income in the period such determination was made.&#160; Likewise, should we determine that we would be able to realize future deferred tax assets
        in excess of its net recorded amount, an adjustment to the valuation allowance would increase net income in the period such determination was made.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We account for income taxes in accordance with ASC 740, &#8220;Income Taxes&#8221; (&#8220;ASC 740&#8221;).&#160; Among other things this provision prescribes a minimum recognition
        threshold that an income tax position must meet before it is recorded in the reporting entity&#8217;s financial statements. It also requires that the effects of such income tax positions be recognized only if, as of the balance sheet reporting date, it
        is &#8220;more likely than not&#8221; (i.e., more than a 50% likelihood) that the income tax position will be sustained based solely on its technical merits.&#160; When making this assessment, management must assume that the responsible taxing authority will
        examine the income tax position and have full knowledge of all relevant facts and other pertinent information.&#160; The accounting guidance also clarifies the method of accruing for interest and penalties when there is a difference between the amount
        claimed, or expected to be claimed, on a company&#8217;s income tax returns and the benefits recognized in the financial statements.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Share-Based Compensation</span> &#8211; We
        calculate share-based compensation expense in accordance with ASC 718, &#8220;Compensation &#8211; Stock Compensation&#8221; using the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this valuation
        method include the expected term of an option grant, stock price volatility, risk-free interest rate, and dividend yield.&#160; We account for forfeitures as they occur.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Results of Operations: Year Ended December 31, 2023 Compared to Year Ended December 31, 2022</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2023 Financial Highlights</div>

      <div><br/>
      </div>

      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#8226;&#160; </span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Net sales were $72.6 million in the current year compared to $58.1 million in the prior year.</span></div>

      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">&#8226;&#160; Operating income was $5.7 million in the current year compared to an operating loss of $7.7 million in the
        prior year.</div>

      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">&#8226;&#160; Net income was $4.7 million, or $0.47 per diluted share in the current year, compared to a net loss of $5.9
        million, or a $0.60 loss per share in the prior year.</div>

      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">&#8226;&#160; Operating cash inflow was $5.5 million in the current year compared to an outflow of $12.2 million in the prior
        year.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net Sales.</span>&#160; Net sales, which
        include printer, terminal and software sales as well as sales of replacement parts, consumables and maintenance and repair services, by market for the years ended December 31, 2023 and 2022 are detailed in the below table.</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(In thousands, except percentages)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">16,308</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">22.5</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,364</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,944</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31.9</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,922</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.5</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,659</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">18.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
              <div>$&#160;</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(3,737</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(35.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41,192</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">56.7</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,029</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">51.7</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,163</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">37.2</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TSG</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8,209</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,087</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.7</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,122</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">61.4</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">72,631</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">58,139</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">14,492</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24.9</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International*</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">14,571</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">20.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">14,105</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$466</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>


</table>
      <div style="text-align: left;"><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International sales do not include sales of products to domestic distributors or other customers who in turn ship those products to international destinations.</div>
            </td>

  </tr>


</table>
      <div style="text-align: left;"><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales for 2023 increased $14.5 million, or 25%, from 2022.&#160; Printer, terminal and other hardware sales volume increased by 10% to approximately
        148,000 units for 2023, driven by large unit volume increases in FST and all casino and gaming, partially offset by a unit volume decline in POS automation. The primary volume increase came from a 27% increase in unit volume from the casino and
        gaming market, supplemented by a 73% hardware unit volume increase in our FST market. We believe that the 2023 increase in our casino and gaming market share increased was principally due to our successful efforts in navigating the supply chain
        constraints that prevented certain other suppliers from fully meeting customer demand. Partially offsetting these increases, we experienced a 36% decrease in unit volume from the POS automation market.&#160; The average selling price of our printers,
        terminals and other hardware increased approximately 9% during 2023 compared to 2022, mainly due to price increases instituted during 2022 in response to product cost increases that we were able to largely maintain throughout 2023.&#160; Additionally,
        sales of our software, labels and other recurring revenue from our FST market increased $2.4 million, or 28%, during 2023 compared to 2022.&#160; International sales for 2023 remained relatively flat (increasing $0.5 million, or 3%, compared to 2022).</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">23</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Food service technology</span>.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>Our primary offering in the food service technology market is our line of BOHA! products, which can combine our latest generation terminal and workstation, which include one or two
        printers, with our BOHA! labeling, timers, and media software.&#160; In addition, customers may individually purchase cloud-based software applications that connect to an application on a separate mobile device into a solution to automate back-of-house
        operations in restaurants, convenience stores and food service operations. The additional software offering of BOHA! consists of a variety of individually purchased software-as-a-service (&#8220;SaaS&#8221;)-based applications for both Android and iOS
        operating systems, including applications for temperature monitoring, temperature taking and checklists and task lists. These applications are sold separately, and customers purchase the applications they need for their back-of-house operations.
        Customers may also purchase associated hardware, such as tablets, temperature sensors and gateways. The BOHA! Terminal and newly-launched Terminal 2 combine<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>an
        operating system and hardware components in a device that includes a touchscreen and one or two thermal print mechanisms that print easy-to-read food rotation labels, grab-and-go labels, and nutritional labels for prepared foods, and &#8220;enjoy by&#8221;
        date labels. The BOHA! WorkStation uses an iPad or Android tablet instead of an integrated touchscreen. The BOHA! Terminal, Terminal 2 and WorkStation are equipped with the TransAct Enterprise Management System to ensure that only approved
        touchscreen functions are available on the touchscreen device and to allow over-the-air updates to the operating system. BOHA! helps food service establishments and restaurants (including fine dining, casual dining, fast casual and quick-service
        restaurants, convenience stores, hospitality establishments and contract food service providers) effectively manage food safety and grab-and-go initiatives, as well as automate and manage back-of-house operations. Recurring revenue from BOHA! is
        generated by software sales, including software subscriptions that are typically charged to customers annually on a per-application basis, as well as sales of labels, extended warranty and service contracts, and technical support services. Sales of
        our worldwide food service technology products for the years ended December 31, 2023 and 2022 were as follows:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,159</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">93.0</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,602</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">93.8</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,557</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30.7</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,149</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.0</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">762</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6.2</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">387</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">50.8</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">16,308</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,364</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,944</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31.9</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Hardware</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,170</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31.7</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,653</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">29.5</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,517</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41.5</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
              <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Software, labels and other recurring revenue</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,138</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">68.3</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8,711</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">70.5</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,427</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">27.9</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">16,308</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,364</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,944</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31.9</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales in food service technology increased 32% in 2023 compared to 2022 driven by increases in both sales of hardware and sales of BOHA! Software and
        labels. Hardware sales increased 42% compared to 2022 due largely to increased sales of our BOHA! Terminal, as well as the first volume sales in the fourth quarter of 2023 of our newly-launched BOHA! Terminal 2. In addition, we experienced an
        increase in sales of our BOHA! sensors and gateways due to shipments to a new senior assisted living customer in the fourth quarter of 2023.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>FST software, labels
        and other recurring revenue sales increased 28% in 2023 compared to 2022. Recurring revenue increased 24% primarily due to higher label sales, as well as record sales of BOHA! software (largely from our labeling software application) recognized on
        a SaaS subscription basis due principally to the continued growth of the installed base of our BOHA! Terminals and WorkStations.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We expect FST revenue to be higher in 2024 than in 2023 as we continue to focus on growing our installed base of terminals and the related recurring
        revenue (primarily the sale of labels and subscription software revenue from our labeling software application).</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">POS automation</span>. Revenue from the POS automation
        market includes sales of our Ithaca 9000 thermal printer used primarily by McDonald&#8217;s, and to a much lesser extent, other quick-service restaurants located either at the checkout counter or within self-service kiosks to print receipts for consumers
        or print liner-less labels.&#160; Sales of our worldwide POS automation products for the years ended December 31, 2023 and 2022 were as follows:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,805</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">98.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,657</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(3,852</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(36.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">117</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.7</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">--</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">115</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">--</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,922</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,659</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(3,737</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(35.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The decrease in POS automation product revenue during 2023 compared to 2022 was driven by lower sales of our Ithaca&#174; 9000 printer. During the latter half
        of 2022, we successfully managed through supply chain issues, significantly increased production and began to fulfill our large backlog of sales orders from the first half of 2022 (due to our competitor&#8217;s inability to supply product)&#160; which
        resulted in unusually high sales during 2022.&#160; During 2023, we shipped closer to our normal run-rate of POS automation printers and we began to lower our average selling price in the latter portion of the year in response to our competitors
        beginning to resume supplying product.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We expect POS automation sales to be lower in 2024 compared to 2023 as our competitors resume volume shipments and we therefore anticipate our sales
        volume and average selling price to return to more normalized levels.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">24</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Casino and gaming</span>. Revenue from the casino and
        gaming market includes sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos, racetracks and other gaming venues worldwide.
        Revenue from this market also includes sales of thermal roll-fed printers used in the international off-premise gaming market in gaming machines such as Amusement with Prizes, Skills with Prizes and Fixed Odds Betting Terminals and kiosks for
        sports betting at non-casino gaming and sports betting establishments.&#160; Revenue from this market also includes royalties related to our patented casino and gaming technology. In addition, casino and gaming market revenue includes sales of the
        EPICENTRAL print system, our software solution (including annual software maintenance), that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; Sales of our worldwide
        casino and gaming products for the years ended December 31, 2023 and 2022 were as follows:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">28,715</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">69.7</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">17,686</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">58.9</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,029</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">62.4</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,477</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,343</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">134</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41,192</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,029</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,163</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">37.2</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The increase in domestic sales of our casino and gaming products during 2023 compared to 2022 was primarily due to a 62% increase in sales volume as well
        as price increases instituted during 2023 and largely maintained throughout the year.&#160; We believe that the 2023 increase in our casino and gaming market share increased was principally due to our successful efforts in navigating the supply chain
        constraints that prevented certain other suppliers from fully meeting customer demand. However, we anticipate a more competitive environment in the casino and gaming market during 2024.&#160; The overall increase in casino and gaming domestic sales was
        partially offset by a 48% decrease in domestic EPICENTRAL sales during 2023 compared to 2022. EPICENTRAL sales are project based, and as a result, may fluctuate significantly quarter-to-quarter and year-to-year.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We expect domestic sales for 2024 to be lower than 2023 as many of our customers have built up higher than normal levels of inventory of our product
        (accumulated as a hedge by our customers during the worldwide supply chain crisis during 2022 and 2023) and we therefore have started to see a slowdown in their order and shipment rates that we expect to continue (especially during the first half
        of 2024) until they are able to sell through their on-hand inventory.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>In addition, we expect an overall more competitive environment in 2024 as we anticipate our
        largest competitor will likely resume volume shipments again.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International sales of our casino and gaming products remained flat during 2023 compared to 2022.&#160; Similar to our domestic customers, our international
        customers also began to slow their order and shipment rates in the third and fourth quarters of 2023 due to higher than normal inventory levels and we expect this trend to continue for 2024, especially during the first half of the year.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">TSG:</span> Revenue generated by TSG includes sales of
        consumable products (POS receipt paper, inkjet cartridges, ribbons and other printing supplies for non-FST legacy products), replacement parts and accessories, maintenance and repair services and shipping and handling charges.&#160; Sales in our
        worldwide TSG market for the years ended December 31, 2023 and 2022 were as follows:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,381</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">89.9</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,089</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">80.4</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,292</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">80.5</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
              <div>
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">828</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">998</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19.6</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(170</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(17.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8,209</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,087</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,122</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">61.4</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The increase in domestic revenue from TSG during 2023 as compared to 2022 was due primarily to a 137% increase in sales of replacement parts and
        accessories primarily due to a large order by IGT for our installed base of legacy lottery printers that we do not expect to recur, and to a lesser extent, a 12% increase in service revenue.&#160; This increase was partially offset by a decline in
        consumable sales of 11%, as we are no longer focused on these legacy sales and expect them to continue to decline over time.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Internationally, TSG revenue decreased 17% during 2023 compared to 2022, due primarily to a decline in sales of replacement parts and accessories to
        international casino and gaming customers.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We expect TSG sales to be lower in 2024 compared to 2023 as we experienced an unusually high level of sales of legacy lottery printer replacement parts
        in 2023 that we do not expect to repeat at the same level in 2024 as the installed base of these printers continues to decline.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">25</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Gross Profit.</span>&#160; Gross profit
        information for the years ended December 31, 2023 and 2022 is summarized below (in thousands, except percentages):</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> Year Ended December 31,</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">38,400</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24,412</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">57.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">52.9</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">42.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit is measured as revenue less cost of sales, which includes primarily the cost of all raw materials and component parts, direct labor,
        manufacturing overhead expenses, cost of finished products purchased directly from our contract manufacturers, expenses associated with installations and support of our EPICENTRAL print system and our line of BOHA! products and royalty payments to
        third-parties, including to the third party licensor of our food service technology software products.&#160; Gross profit increased $14.0 million, or 57%, in 2023 compared to 2022, primarily due to the 25% sales increase in 2023 compared to 2022.&#160; Gross
        margin also increased 1,090 basis points to 53% in 2023 compared to 42% in 2022.&#160; The large increase in both gross profit and gross margin is due to a 25% sales increase, increased market share in the casino and gaming market, increased sales of
        higher margin products and price increases instituted in 2022 and largely maintained throughout 2023 to mitigate higher product and shipping costs.&#160; However, we expect gross margin in 2024 to be lower than in 2023 due to a return to a more
        normalized competitive environment in both the casino and gaming and POS automation markets.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses - Engineering,
          Design and Product Development.</span>&#160; Engineering, design and product development information for the years ended December 31, 2023 and 2022 is summarized below (in thousands, except percentages):</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,442</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8,570</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.2</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">13.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">14.7</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>


</table>
      <div style="text-align: left;"><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Engineering, design and product development expenses primarily include salary and payroll-related expenses for our hardware and software engineering
        staff, depreciation and design expenses (including prototype printer expenses, outside design, development and testing services, supplies and contracted software development expenses including those to the third party licensor of our food service
        technology software products).<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>Engineering, design and product development expenses increased $0.9 million, or 10%, in 2023 compared to 2022 due to the hiring of
        additional engineering staff as well as investments in additional software staff resources and product testing primarily for the completed launch of the new BOHA! Terminal 2 and Epic TR80 gaming printer in the fourth quarter of 2023. These
        increases were partially offset by cost reduction initiatives taken during the latter part of 2023, including a reduction of contracted software development expenses.&#160; We expect engineering, design and product development expenses to be lower in
        2024 compared to 2023 as we expect to benefit from the full effect of the 2023 cost reduction efforts.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses - Selling and
          Marketing</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span>&#160; Selling and marketing information for the years ended December 31, 2023 and 2022 is summarized below (in thousands, except
        percentages):</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,934</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,326</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(12.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">13.7</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19.5</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Selling and marketing expenses primarily include salaries and payroll-related expenses for our sales, marketing and customer success staff, sales
        commissions, travel expenses, expenses associated with the lease of sales offices, advertising, trade show expenses, public relations, e-commerce and other promotional marketing expenses.&#160; Selling and marketing expenses decreased $1.4 million, or
        12%, during 2023 compared to 2022 primarily due to BOHA! market studies conducted in 2022 which were not repeated in 2023, as well as cost reduction initiatives put into place during 2023, including reduced headcount and a reduction in trade show
        and other marketing expenses.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses - General and
          Administrative.</span>&#160; General and administrative information for the years ended December 31, 2023 and 2022 is summarized below (in thousands, except percentages):</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">13,318</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,193</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.2</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">18.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">General and administrative expenses primarily include salaries, incentive compensation, and other payroll-related expenses for our Chief Executive
        Officer, Chief Financial Officer, accounting, human resources, corporate development and information technology staff, expenses for our corporate headquarters, professional and legal expenses, information technology expenses, and other expenses
        related to being a publicly traded company.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>General and administrative expenses increased $1.1 million, or 9%, during 2023 compared to 2022 due in large part to a
        $1.5 million severance charge related to the resignation of the Company&#8217;s former Chief Executive Officer in April 2023, partially offset by expense reduction initiatives we commenced in the third quarter of 2023. Excluding the $1.5 million
        severance charge, we expect general and administrative expenses for 2024 to be slightly lower compared to 2023.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">26</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Income (Loss).</span>&#160;
        Operating income (loss) information for the years ended December 31, 2023 and 2022 is summarized below (in thousands, except percentages):</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales &#8211; 2023</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales &#8211; 2022</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,706</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(7,677</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">174.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.9</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(13.2</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our operating income increased $13.4 million, or 174%, during 2023 compared to 2022 as a $14.0 million or 57% increase in gross profit on 25% higher
        sales, was partially offset by a $0.6 million or 2% increase in operating expenses (including the $1.5 million severance charge discussed above in &#8220;General and Administrative&#8221;) in 2023 compared to 2022.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Interest, net.</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; We recorded net interest expense of $255 thousand in 2023 compared to $208 thousand in 2022. </span>&#160; This increase in interest expense is related to the Siena Credit
        Facility. Following the July 2022 amendment of the Siena Credit Facility, we were required to maintain outstanding borrowings of at least $2,250,000 in principal amount.&#160; See Note 8 &#8211; Borrowings to the accompanying condensed consolidated financial
        statements. Interest expense increased due to the initiation of the minimum borrowing requirement in July 2022 and a higher interest rate environment during 2023 compared to 2022.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Other, net</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span>&#160; We recorded other income of $452 thousand in 2023 compared to other expense of $16 thousand in 2022.&#160; During the fourth quarter of 2023, we
        completed an asset sale of our Printrex product line (essentially inventory on-hand) and recorded a non-operating gain of approximately $426 thousand.&#160; Prior to this sale, the last TransAct sales of Printrex products occurred in 2021.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Income Taxes</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>We recorded income tax expense during 2023 of $1.2 million at
        an effective tax rate of 19.6%, compared to an income tax benefit during 2022 of $2.0 million at an effective tax rate of 24.9%.&#160; The effective tax rate for 2022 was unusually high due to the reversal of a valuation allowance on deferred tax assets
        in our UK subsidiary.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net Income (Loss).</span>&#160; As a
        result of the above, we reported net income for the year ended December 31, 2023 of $4.7 million, or $0.47 per diluted share, compared to a net loss of ($5.9 million), or $0.60 per basic and diluted share, in 2022.</div>

      <div style="text-align: left;"><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Liquidity and Capital Resources</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We assess our liquidity in terms of our ability to generate cash to fund our operating, investing and financing activities.&#160; Significant factors
        affecting the management of liquidity are cash flows from operating activities, capital expenditures, access to bank lines of credit and our ability to attract long-term capital with satisfactory terms.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Internal cash generation together with currently available cash and cash equivalents, available borrowing facilities and an ability to access credit
        lines at market-competitive rates, if needed, are expected to be sufficient to fund operations, capital expenditures, and any increase in working capital that would be required to accommodate our anticipated level of business activity for the 2024
        fiscal year and beyond.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the third quarter of 2023, we began a cost reduction initiative to reduce our overall level of operating expenses that included reducing employee
        headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering resources and other expenses, and to a lesser extent, certain general and administrative expenses. We expect these actions will result in
        approximately $3 million of annualized savings beginning in 2024, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts
        we have taken to bring expenses in line with our revenue and mitigate the impact of global economic conditions such as supply chain disruptions and inflation are sufficient or adequate, and we may be required to take additional measures, as the
        ultimate extent of the effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.&#160; See Part I,
        Item 1A, Risk Factors, of this Form 10-K for further discussion of risks related to global economic conditions, supply chain disruptions and inflation.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">27</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Cash Flow</div>

      <div>
        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During 2023, our cash balance increased $4.4 million, or 55%, (versus a decrease of $11.5 million in 2022) due primarily to operating activities,
          including a reduction in accounts receivable of $4.2 million and net income of $4.7 million (depreciation, amortization and share based compensation totaled $2.3 million).&#160; We had $12.3 million in cash and cash equivalents as of December 31,
          2023, of which $116 thousand was held by our UK subsidiary.</div>

      </div>

      <div>
        <div style="text-align: left;"><br/>
        </div>

      </div>

      <div>
        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Operating activities</span>: The following significant
          factors primarily affected our cash provided by operating activities of $5.5 million in 2023 as compared to cash used in operating activities of $12.2 million in 2022.</div>

        <div><br/>
        </div>

        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For 2023:</div>

        <div><br/>
        </div>

      </div>

      <div>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We reported net income of $4.7 million.</div>
              </td>

  </tr>


</table>
      </div>

      <div>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recorded depreciation and amortization of $1.5 million and share-based compensation expense of $0.9 million.</div>
              </td>

  </tr>


</table>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recorded a decrease in our deferred tax assets of $1.0 million due to our net income in 2023.</div>
              </td>

  </tr>


</table>
      </div>

      <div>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable decreased $4.2 million primarily due to decreased sales volume during the fourth quarter of 2023.</div>
              </td>

  </tr>


</table>
      </div>

      <div>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventories increased $5.7 million primarily due to strategic purchases, including initial stocking orders related to the launch of our new BOHA! Terminal 2 and
                  Epic TR80 in the fourth quarter of 2023, and declining sales during the four quarters in 2023. We expect our inventories to gradually decline as we sell through our existing stock during 2024.</div>
              </td>

  </tr>


</table>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts payable used $3.0 million in cash due to increased inventory purchases and the timing of cash disbursements.</div>
              </td>

  </tr>


</table>
      </div>

      <div>
        <div><br/>
        </div>

      </div>

      <div>
        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For 2022:</div>

        <div><br/>
        </div>

      </div>

      <div>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We reported a net loss of $5.9 million.</div>
              </td>

  </tr>


</table>
      </div>

      <div>
        <div>
          <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 9pt;">
                  <div style="text-align: justify; margin-left: 18pt;">&#8226;</div>
                </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                  <div style="text-align: justify; margin-left: 18pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">We recorded depreciation and amortization of $1.3 million and share-based compensation expense of $1.2
                      million.</span></div>
                </td>

  </tr>


</table>
        </div>

        <div>
          <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 9pt;">
                  <div style="text-align: justify; margin-left: 18pt;">&#8226;</div>
                </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                  <div style="text-align: justify; margin-left: 18pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">We recorded an increase in our deferred tax assets of $2.2 million due to our net loss in 2022.</span></div>
                </td>

  </tr>


</table>
        </div>

      </div>

      <div>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable increased $6.4 million primarily due to increased sales volume during the fourth quarter of 2022.</div>
              </td>

  </tr>


</table>
      </div>

      <div>
        <div>
          <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%;" class="DSPFListTable">


  <tr style="vertical-align: top;">

    <td style="text-align: right; vertical-align: top; width: 9pt;">
                  <div style="text-align: justify; margin-left: 18pt;">&#8226;</div>
                </td>

    <td style="text-align: left; vertical-align: top; width: auto;">
                  <div style="text-align: justify; margin-left: 18pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Inventories increased $4.4 million primarily due to strategic purchases of electronic and other parts to
                      support our sales growth.</span></div>
                </td>

  </tr>


</table>
        </div>

      </div>

      <div>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
              </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts payable provided $3.2 million in cash due to increased inventory purchases and the timing of cash disbursements.</div>
              </td>

  </tr>


</table>
      </div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Investing activities</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">:&#160; </span>Our capital expenditures were $0.9 million and $1.3 million in 2023 and 2022, respectively.&#160; Expenditures in 2023 were related to new product tooling and computer and networking equipment
        while in 2022 they were primarily related to the implementation of a new ERP system which was completed in early 2022, new product tooling and computer and networking equipment.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Financing activities:</span>&#160; Financing activities used
        $0.1 million of cash during 2023 due primarily to withholding taxes paid on stock issuances.&#160; During 2022, financing activities provided $2.1 million of cash primarily due to proceeds received from the required minimum borrowings on our Siena
        Credit Facility.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Resource Sufficiency</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Since early 2020, we have been impacted in varying degrees by the lingering effects from the COVID-19 pandemic. In addition, and more recently, we have
        been impacted by global supply chain issues, increased shipping costs, increased interest rates and inflationary pressures.&#160; However, we believe that our operating results and operating cash flow improved significantly during 2023 due largely to
        certain competitors&#8217; inability to supply products in both the POS automation and casino and gaming markets.&#160; Nevertheless, given the continued uncertainty related to the impact of external factors on the food service and casino industries, we
        continue to monitor our cash generation, usage and preservation including the management of working capital to generate cash.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We believe that our cash and cash equivalents on hand, our expected cash flows generated from operating activities, and borrowings available under our
        Siena Credit Facility will provide sufficient resources to meet our working capital needs, finance our capital expenditures and meet our liquidity requirements through at least the next twelve months.&#160; Notwithstanding this belief, the duration and
        extent of these global economic pressures and the future of pandemic variants remain uncertain and the ultimate impact of these global pressures is unknown.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">28</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Credit Facility and Borrowings</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On March 13, 2020, we entered into the Loan and Security Agreement governing the Siena Credit Facility with Siena Lending Group LLC (the &#8220;Lender&#8221;).&#160; The
        Siena Credit Facility provides for a revolving credit line of up to $10.0 million and was originally scheduled to expire on March 13, 2023, prior to being extended, as discussed below. Borrowings under the Siena Credit Facility bear a floating rate
        of interest equal to the greatest of (i) the prime rate plus 1.75%, (ii) the federal funds rate plus 2.25%, and (iii) 6.50%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $245 thousand.
        We also pay a fee of 0.50% on unused borrowings under the Siena Credit Facility. Borrowings under the Siena Credit Facility are secured by a lien on substantially all the assets of the Company. Borrowings under the Siena Credit Facility are subject
        to a borrowing base based on 85% of eligible accounts receivable plus the lesser of (a) $5.0 million and (b) 50% of eligible raw material and 60% of finished goods inventory.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur additional indebtedness and
        the creation of other liens. On July 21, 2021, the Company entered into an amendment (&#8220;Siena Credit Facility Amendment No. 1&#8221;) to the Siena Credit Facility. Siena Credit Facility Amendment No. 1 changed the financial covenant under the Siena Credit
        Facility from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750 thousand under the Siena Credit Facility, tested as of the end of each calendar month, beginning
        with the calendar month ended July 31, 2021. From July 31, 2021 through December 31, 2023, we remained in compliance with our excess availability covenant.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On July 19, 2022, the Company and the Lender entered into Amendment No. 2 (&#8220;Siena Credit Facility Amendment No. 2&#8221;) to the Siena Credit Facility as
        amended by Siena Credit Facility Amendment No. 1. Also on July 19, 2022, the Company and the Lender entered into an Amended and Restated Fee Letter (the &#8220;Amended Fee Letter&#8221;) in connection with Siena Credit Facility Amendment No. 2. Siena Credit
        Facility Amendment No. 2 did not modify the aggregate amount of the revolving commitment or the interest rate applicable to the loans.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The changes to Siena Credit Facility provided for in Siena Credit Facility Amendment No. 2 included, among other things, the following:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(i)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The extension of the maturity date from March 13, 2023 to March 13, 2025; and</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(ii)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The termination of the existing blocked account control agreement and entry into a new &#8220;springing&#8221; deposit account control agreement, permitting the Company to direct
                the use of funds in its deposit account until such time as (a) the sum of excess availability under the Siena Credit Facility and unrestricted cash is less than $5 million for 3 consecutive business days or (b) an event of default occurs
                and is continuing.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, the Amended Fee Letter requires the Company, while it retains the ability to direct the use of funds in the deposit account, to maintain
        outstanding borrowings of at least $2,250,000 in principal amount. If the Company does not have the ability to direct the use of funds in the deposit account, then the Amended Fee Letter requires the Company to pay interest on at least $2,250,000
        principal amount of loans, whether or not such amount of loans is actually outstanding. As stated above, we continue to monitor our cash generation, usage and preservation including the management of working capital to generate cash and continue to
        evaluate any alternative sources of funding as necessary, including the possible extension of our line of credit under the Siena Credit Facility.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On May 1, 2023, the Company and the Lender agreed to a letter amendment to the Loan and Security Agreement governing the Siena Credit Facility. Prior to
        this amendment, section 7.1(m) of the Loan and Security Agreement governing the Siena Credit Facility required that any successor to the Company&#8217;s former Chief Executive Officer be reasonably acceptable to the Lender, and the amendment confirmed
        that Mr. Dillon, the Company&#8217;s current Chief Executive Officer, is an acceptable successor and applied the same requirement to any future successor to Mr. Dillon.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2023, we had $2.3 million of outstanding borrowings under the Siena Credit Facility and $5.9 million of net borrowing capacity</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">available under the Siena Credit Facility.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Stock Repurchase Program</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During 2023 and 2022, we did not repurchase any shares of our common stock.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Shareholders&#8217; Equity</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Shareholders&#8217; equity increased $5.6 million, or 16%, to $39.4 million at December 31, 2023 from $33.9 million at December 31, 2022.&#160; The increase&#160; was
        primarily due to net income of $4.7 million in 2023 and share-based compensation expense related to stock awards of $0.8 million (net of withholding taxes paid by relinquishment of shares) in 2023.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 7A<a id="Item7A"><!--Anchor--></a>. Quantitative and Qualitative Disclosures about Market Risk.</div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct is a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, and is not required to provide information under this item.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 8<a id="Item8"><!--Anchor--></a>. Financial Statements and Supplementary Data.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The financial statements of the Company are annexed to this Form 10-K as pages F-4 through F-22.&#160; The &#8220;Report of Independent Registered Public Accounting
        Firm&#8221; is annexed to this Form 10-K as of page F-2.&#160; An index to such materials appears on page F-1.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 9<a id="Item9"><!--Anchor--></a>. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">None.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">29</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 9A<a id="Item9A"><!--Anchor--></a>. Controls and Procedures.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Evaluation of Disclosure Controls and Procedures</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our management, with the participation of our Chief Executive Officer (&#8220;CEO&#8221;) and Chief Financial Officer (&#8220;CFO&#8221;), evaluated the effectiveness of our
        disclosure controls and procedures, as defined in Rule 13a-15 under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;) as of</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2023. Based on this evaluation of our disclosure controls and procedures as of December 31, 2023, our CEO and CFO concluded that, as of
        December 31, 2023, our disclosure controls and procedures were effective at the reasonable assurance level.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our management, including our CEO and CFO, has concluded that our consolidated financial statements, included in this Form 10-K, fairly present, in all
        material respects, our financial condition, results of operations and cash flows for the periods presented in conformity with GAAP, and that they can be relied upon.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Management&#8217;s Annual Report on Internal Control Over Financial Reporting</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as defined in Rule 13a-15(f) under the
        Exchange Act, to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements for external purposes in accordance with GAAP. Internal control over financial reporting includes those
        policies and procedures that (i) pertain to the maintenance of records that in reasonable detail accurately and fairly reflect the transactions and dispositions of the assets of the Company; (ii) provide reasonable assurance that transactions are
        recorded as necessary to permit preparation of financial statements in accordance with GAAP, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and directors of the Company; and
        (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the Company&#8217;s assets that could have a material effect on the financial statements.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our management assessed our internal control over financial reporting as of December 31, 2023. Our management based its assessment on criteria
        established in Internal Control&#8211;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission. In the opinion of management, TransAct maintained effective internal control over financial reporting as of
        December 31, 2023.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Changes in Internal Control over Financial Reporting</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">No change in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) occurred during the three
        months ended December 31, 2023 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 9B<a id="Item9B"><!--Anchor--></a>. Other Information.</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">None</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the fourth quarter of 2023, no director or officer of the Company <ix:nonNumeric name="ecd:NonRule10b51ArrAdoptedFlag" id="Fact_684df39c60064be0ae02c47d9d039a74" contextRef="c20231001to20231231" format="ixt:fixed-false"><ix:nonNumeric name="ecd:Rule10b51ArrAdoptedFlag" id="Fact_3ae081ff6c464808b2afbe1a839bcbe7" contextRef="c20231001to20231231" format="ixt:fixed-false">adopted</ix:nonNumeric></ix:nonNumeric> or <ix:nonNumeric name="ecd:Rule10b51ArrTrmntdFlag" id="Fact_eb5f25c3b89347f7a38f7bd5b34bf9a8" contextRef="c20231001to20231231" format="ixt:fixed-false"><ix:nonNumeric name="ecd:NonRule10b51ArrTrmntdFlag" id="Fact_ce7ef6bc2ead41e2b087607069c800eb" contextRef="c20231001to20231231" format="ixt:fixed-false">terminated</ix:nonNumeric></ix:nonNumeric> a &#8220;Rule 10b5-1trading arrangement&#8221; or &#8220;non-Rule 10b5-1trading
                arrangement,&#8221; as each term is defined in Item 408(a) of Regulation S-K.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 9C<a id="Item9C"><!--Anchor--></a>. Disclosure Regarding Foreign Jurisdictions that Prevent Inspection.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">30</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PART III</div>

      <div style="text-align: justify;"><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 10<a id="Item10"><!--Anchor--></a>. Directors, Executive Officers and Corporate Governance.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Set forth in Part I, Item 1. Business of this Form 10-K, under the heading &#8220;Information about our Executive Officers,&#8221; is certain information regarding
        our executive officers, and information regarding our code of ethics is set forth below.&#160; The remaining information in response to this item is incorporated herein by reference to the disclosure, if any; that will be contained, as applicable, under
        the headings &#8220;Proposal 1: Election of Directors,&#8221; &#8220;Delinquent Section 16(a) Reports,&#8221; &#8220;Corporate Governance &#8211; Director Nomination Process&#8221; and &#8220;Corporate Governance &#8211; Committees of the Board&#8221; in our Proxy Statement for our 2024 Annual Meeting of
        Stockholders (the &#8220;Proxy Statement&#8221;), which will be filed within 120 days after the end of the year covered by this Form 10-K.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Code of Ethics</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We maintain a Standards of Business Conduct and Code of Ethics (&#8220;Standards of Business Conduct&#8221;) that includes our code of ethics that is applicable to
        all employees, including our Chief Executive Officer, Chief Financial Officer, Chief Accounting Officer and Controller.&#160; Our Standards of Business Conduct, which require continued observance of high ethical standards, such as honesty, integrity and
        compliance with the law in the conduct of our business, are available for public access on our website at https://transacttech.gcs-web.com/corporate-governance.&#160; Any person may request a copy of our Standards of Business Conduct free of charge by
        calling (203) 859-6800.&#160; We will disclose on our website at https://transacttech.gcs-web.com/corporate-governance any amendment to or waiver of a provision of the Standards of Business Conduct as may be required and within the time period specified
        under the applicable SEC and Nasdaq rules.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 11<a id="Item11"><!--Anchor--></a>. Executive Compensation.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information in response to this item will be contained in the Proxy Statement under the headings &#8220;Executive Compensation,&#8221; &#8220;Summary Compensation
        Table,&#8221; &#8220;Outstanding Equity Awards at 2023 Fiscal Year-End,&#8221; &#8220;Potential Payments Upon Termination or Change in Control&#8221; and &#8220;Pay Versus Performance,&#8221; and is incorporated herein by reference.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 12<a id="Item12"><!--Anchor--></a>. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder
        Matters.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Set forth below is certain information regarding our equity compensation plans.&#160; The remaining information in response to this item will be contained in
        the Proxy Statement under the heading, &#8220;Security Ownership of Certain Beneficial Owners and Management,&#8221; and is incorporated herein by reference.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Equity Compensation Plan Information</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Information regarding our equity compensation plans as of December 31, 2023 is as follows:</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Plan category</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">securities to be</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">issued upon exercise</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">of outstanding</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">options, warrants</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> and rights</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Weighted-</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">average</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">exercise price</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">of outstanding</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">options, warrants</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">and rights</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(c)</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of securities</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">remaining available for</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">future issuance under</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">equity compensation plans</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(excluding securities</div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">reflected in column (a)</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity compensation plans approved by security holders:</div>
            </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
              <div>
                <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2005 Equity Incentive Plan</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">76,000</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11.61</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px;">
              <div>
                <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2014 Equity Incentive Plan</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,423,011</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.53</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">981,769</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,499,011</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.73</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">981,769</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
      <div><br/>
      </div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In May 2014, our stockholders approved the adoption of the 2014 Equity Incentive Plan.&#160; In May 2020, our stockholders approved an amendment and
        restatement of the 2014 Equity Incentive Plan to increase the number of shares of common stock which may be subject to awards granted under the plan from 1,400,000 to 2,200,000 shares.&#160; In June 2023, our stockholders approved an amendment and
        restatement of the 2014 Equity Incentive Plan to increase the number of shares of common stock which may be subject to awards granted under the plan from 2,200,000 to its current level of 2,900,000 and to change the date of adoption of the 2014
        Equity Incentive Plan to April 17, 2023 (thereby extending its expiration date to April 17, 2033).&#160; The Company also maintains the 2005 Equity Incentive Plan; however no new awards are be available for future issuance under this plan.&#160; Both plans
        generally provide for awards in the form of: (i) incentive stock options, (ii) non-qualified stock options, (iii) restricted stock, (iv) restricted stock units (which may include performance-based vesting), (v) stock appreciation rights or (vi)
        limited stock appreciation rights.&#160; The Company does not have any equity plans that have not been approved by its stockholders.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 13<a id="Item13"><!--Anchor--></a>. Certain Relationships and Related Transactions, and Director Independence.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information in response to this item will be contained in the Proxy Statement under the headings &#8220;Certain Relationships and Related Transactions&#8221; and
        &#8220;Corporate Governance-Board Leadership Structure and Independence&#8221; and is incorporated herein by reference.</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 14<a id="Item14"><!--Anchor--></a>. Principal Accountant Fees and Services.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information in response to this item will be contained in the Proxy Statement under the headings, &#8220;Policy Regarding Pre-Approval of Services Provided
        by the Independent Registered Public Accounting Firm&#8221; and &#8220;Independent Registered Public Accounting Firm&#8217;s Services and Fees&#8221; and is incorporated herein by reference.</div>

      <div><br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">31</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PART IV</div>

      <div style="text-align: justify;"><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 15<a id="Item15"><!--Anchor--></a>. Exhibits and Financial Statement Schedules.</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(a)</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">The following documents are filed as part of this Form 10-K:</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">1.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Financial Statements.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 100%; vertical-align: top;">
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Report of Independent Registered Public Accounting Firm</div>
            </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Balance Sheets as of December 31, 2023 and 2022</div>
            </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Operations for the years ended December 31, 2023 and 2022</div>
            </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Comprehensive Loss for the years ended December 31, 2023 and 2022</div>
            </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Changes in Shareholders&#8217; Equity for the years ended December 31, 2023 and 2022</div>
            </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Cash Flows for the years ended December 31, 2023 and 2022</div>
            </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Notes to Consolidated Financial Statements</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Schedules.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">All schedules are omitted because they are either inapplicable or not required, or because the information required therein is included in the Consolidated
        Financial Statements and Notes thereto.</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">3.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibits</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">Exhibit Index</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000114036122030288/exhibit3-2.htm">3.1(a)</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certificate of Incorporation of TransAct Technologies Incorporated (conformed copy) (incorporated by reference to Exhibit 3.2 of the Company&#8217;s
                Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on August 18, 2022).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/0000914039-99-000055.txt">3.1(b)</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Certificate of Designation, Series A Preferred Stock, filed with the
                  Secretary of State of Delaware on December 2, 1997 (incorporated by reference to Exhibit C of the Form of Amended and Restated Rights Agreement, dated as of February 16, 1999, between </span>TransAct Technologies Incorporated and
                American Stock Transfer &amp; Trust Company filed as Exhibit 4.1 to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on February 18, 1999.&#8221;</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000091403900000221/0000914039-00-000221.txt">3.1(c)</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certificate of Designation, Series B Preferred Stock, filed with the Secretary of State of Delaware on April 6, 2000 (incorporated by reference
                to Exhibit 3.1(c) of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 8, 2000).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000114036123014061/ex3_2.htm">3.2</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amended and Restated By-Laws of TransAct Technologies Incorporated (incorporated by reference to Exhibit 3.2 of the Company&#8217;s Annual Report on
                Form 10-K (SEC File No. 000-21121) filed with the SEC on March 28, 2023).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/0000950135-96-003298.txt">4.1</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Specimen Common Stock Certificate (incorporated by reference to Exhibit 4.1 of the Company&#8217;s Registration Statement on Form S-1/A (No. 333-06895)
                filed with the SEC on August 1, 1996).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ef20015290_4-2.htm">4.2</a>*</div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Description of Securities.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000095012305006988/y09630exv99w1.txt">10.1</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2005 Equity Incentive Plan (incorporated by reference to Exhibit 99.1 of the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed
                with the SEC on June 1, 2005).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730314000027/exhibit10-01.htm">10.2</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated 2014 Equity Incentive Plan (incorporated by reference to Exhibit 10.1 of the Company&#8217;s Current Report on Form
                8-K (SEC File No. 000-21121) filed with the SEC on May 19, 2014).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730317000052/exhibit101.htm">10.3</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment to 2014 Equity Incentive Plan approved by Shareholders on May 22, 2017 (incorporated by reference to Exhibit 10.1 of the Company&#8217;s
                Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on August 9, 2017).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730320000024/def14aproxy.htm">10.4</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated 2014 Equity Incentive Plan, as Amended and Restated in 2020 (incorporated by reference to Exhibit I to the
                Definitive Proxy Statement on Schedule 14A filed with the Commission on April 23, 2020, File No. 000-21121).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000121465923005753/tat412231proxy.htm">10.5</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated 2014 Equity Incentive Plan, as Amended and Restated in 2023 (incorporated by reference to Exhibit I to the
                Definitive Proxy Statement on Schedule 14A filed with the Commission on April 21, 2023, File No. 000-21121).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730316000100/exhibit102.htm">10.6</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2014 Equity Incentive Plan Time-based Restricted Stock Unit Agreement (incorporated by reference to Exhibit 10.2 of the Company&#8217;s Quarterly
                Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 6, 2016).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730316000112/exhibit101.htm">10.7</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2014 Equity Incentive Plan Performance-based Restricted Stock Unit Agreement (incorporated by reference to Exhibit 10.1 of the Company&#8217;s
                Quarterly Report on Form 10-Q (SEC File No. 000-211121) filed with the SEC on August 8, 2016).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730314000027/exhibit10-02.htm">10.8</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2014 Equity Incentive Plan Non-statutory Stock Option Agreement (incorporated by reference to Exhibit 10.2 of the Company&#8217;s Current Report on
                Form 8-K (SEC File No. 000-21121) filed with the SEC on May 19, 2014).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000095012305003228/y06777exv10w8wx.txt">10.9</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Severance Agreement by and between TransAct and Steven A. DeMartino, dated June 1, 2004 (incorporated by reference to Exhibit 10.8 of the
                Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2005).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730309000003/exhibit1012x.htm">10.10</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment to Severance Agreement by and between TransAct and Steven A. DeMartino, effective January 1, 2008 (incorporated by reference to Exhibit
                10.12 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2009).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730322000014/exhibit1010.htm">10.11</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Severance Agreement by and between TransAct and Andrew J. Hoffman (as amended), effective December 23, 2008 (incorporated by reference to Exhibit
                10.10 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 24, 2022).</div>
            </td>

  </tr>


</table>
      <div> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">32</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730322000014/exhibit1011.htm">10.12</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Second Amendment to Severance Agreement by and between TransAct and Steven A. DeMartino, effective April 29, 2021 (incorporated by reference to
                Exhibit 10.11 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 24, 2022).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="https://www.sec.gov/Archives/edgar/data/1017303/000121465922015376/ex10_1.htm"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"><span style="text-decoration: underline;">10.13</span>(x)</span></a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amended and Restated Employment Agreement, dated as of December 14, 2022, by and between TransAct Technologies Incorporated and Bart C. Shuldman
                (incorporated by reference to Exhibit 10.1 of the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on December 27, 2022).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="https://www.sec.gov/Archives/edgar/data/1017303/000121465923006005/ex10_1.htm"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"><span style="text-decoration: underline;">10.14</span>(x)</span></a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Separation Agreement and General Release, dated April 20, 2023, between the Company and Bart C. Shuldman (incorporated by reference to Exhibit
                10.1 of Amendment No. 1 to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on April 26, 2023).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="https://www.sec.gov/Archives/edgar/data/1017303/000121465923006005/ex10_2.htm"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"><span style="text-decoration: underline;">10.15</span>(x)</span></a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Letter Agreement, dated April 24, 2023, between the Company and John M. Dillon (incorporated by reference to Exhibit 10.2 of Amendment No. 1 to
                the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on April 26, 2023).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ef20015290_ex10-16.htm">10.16</a>*</div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lease Agreement between Bomax Properties, LLC and TransAct, dated July 18, 2001.*</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730312000026/exhibit1016.htm">10.17</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 1 to Lease Agreement between Bomax Properties, LLC and TransAct, dated May 8, 2012 (incorporated by reference to Exhibit 10.16 of
                the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 10, 2012).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730316000085/exhibit1013.htm">10.18</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 2 to Lease Agreement between Bomax Properties, LLC and TransAct, dated January 14, 2016 (incorporated by reference to Exhibit 10.13
                of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 11, 2016).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730320000006/exhibit101.htm">10.19</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 3 to Lease Agreement between Bomax Properties, LLC and TransAct, dated February 29, 2020 (incorporated by reference to Exhibit 10.1
                to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on March 4, 2020).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000095012305003228/y06777exv10w13.txt">10.20</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lease Agreement by and between Las Vegas Airport Properties LLC and TransAct dated December 2, 2004 (incorporated by reference to Exhibit 10.13
                of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2005).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730310000006/exhibit1019.htm">10.21</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">First Amendment to Lease Agreement by and between CIP Hughes Center LLC and TransAct dated August 24, 2009 (incorporated by reference to Exhibit
                10.19 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2010).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730315000047/exhibit102.htm">10.22</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Second Amendment to Lease Agreement by and between The Realty Associates Fund IX LP and TransAct dated June 30, 2015 (incorporated by reference
                to Exhibit 10.2 of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on August 7, 2015).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="https://www.sec.gov/Archives/edgar/data/1017303/000095012307003917/y31948exv10w14.txt">10.23</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lease Agreement by and between 2319 Hamden Center I, L.L.C. and TransAct dated November 27, 2006 (incorporated by reference to Exhibit 10.14 of
                the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 15, 2007).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730317000014/exhibit1020.htm">10.24</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">First Amendment to Lease by and between 2319 Hamden Center I, L.L.C. and TransAct dated January 3, 2017 (incorporated by reference to Exhibit
                10.20 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2017).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000042/exhbit101.htm">10.25</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Second Amendment to Lease by and between 2319 Hamden Center I, L.L.C. and TransAct Technologies dated April 30, 2021 (incorporated by reference
                to Exhibit 10.1 of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 13, 2021).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730320000037/exhibit102.htm">10.26</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Loan and Security Agreement, dated as of March 13, 2020, among Siena Lending Group LLC, TransAct Technologies Incorporated and the other Loan
                Parties from time to time party thereto (incorporated by reference to Exhibit 10.2 of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 22, 2020).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000061/exihibit991.htm">10.27</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 1 To Loan and Security Agreement, dated as of July 21, 2021, among Siena Lending Group and TransAct Technologies Incorporated
                (incorporated by reference to Exhibit 99.1 to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on July 26, 2021)</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000121465922009128/ex10_1.htm">10.28</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 2 To Loan and Security Agreement, dated as of July 19, 2022, between Siena Lending Group LLC and TransAct Technologies Incorporated
                (incorporated by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on July 25, 2022).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000121465922009128/ex10_2.htm">10.29</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amended and Restated Fee Letter, dated as of July 19, 2022, between Siena Lending Group LLC and TransAct Technologies Incorporated (incorporated
                by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on July 25, 2022).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000121465923006506/ex10_1.htm">10.30</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Letter Amendment, dated May 1, 2023, to Loan and Security Agreement between Siena Lending Group LLC and TransAct Technologies Incorporated
                (incorporated by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on May 4, 2023).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000020/ex10_24.htm">10.31</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#8224;</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Master License Agreement dated February 22, 2019 and amendments thereto (incorporated by reference to Exhibit 10.24 to the Company&#8217;s Annual
                Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 12, 2021).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000020/ex10_25.htm">10.32</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#8224;</span></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Master Development and License Agreement dated July 20, 2018 (incorporated by reference to Exhibit 10.25 to the Company&#8217;s Annual Report on Form 10-K
                (SEC File No. 000-21121) filed with the SEC on March 12, 2021).</div>
            </td>

  </tr>


</table>
      <div> <br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">33</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000020/ex21.htm">21</a></div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Subsidiaries of the Company (incorporated by reference to Exhibit 21 to the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with
                the SEC on March 12, 2021)</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ef20015290_23-1.htm">23.1</a>*</div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consent of Marcum LLP</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ef20015290_31-1.htm">31.1</a>*</div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Rule 13a-14(a) Certification of Chief Executive Officer in accordance with Section 302 of the Sarbanes-Oxley Act of 2002.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ef20015290_31-2.htm">31.2</a>*</div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Rule 13a-14(a) Certification of Chief Financial Officer in accordance with Section 302 of the Sarbanes-Oxley Act of 2002.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ef20015290_32.htm">32</a>&#8225;</div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certification of Chief Executive Officer and Chief Financial Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of the
                Sarbanes-Oxley Act of 2002.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ef20015290_ex97.htm">97</a>*</div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated Clawback Policy in the Event of a Financial Restatement</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.INS</div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Instance Document (the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the
                Inline XBRL document).</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.SCH</div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Schema Document.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.CAL</div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.DEF</div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Definition Linkbase Document.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.LAB</div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Label Linkbase Document.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.PRE</div>
            </td>

    <td style="width: 91.64%; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</div>
            </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">104</div>
            </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(x)</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Management contract or compensatory plan or arrangement.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">These exhibits are filed herewith.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8224;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Certain portions of this exhibit (indicated by &#8220;[***]&#8221;) have been omitted pursuant to Item (601)(b)(10) of Regulation S-K.</div>
            </td>

  </tr>


</table>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8225;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">These exhibits are furnished herewith.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(b)</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibits.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The Exhibits required by Item 601 of Regulation S-K under the Exchange Act are included in the Exhibit Index above under a(3) of this Item 15.</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(c)</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Financial Statement Schedules.</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">See the Notes to the Consolidated Financial Statements included in this Form 10-K.</div>

      <div><br/>
      </div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 16<a id="Item16"><!--Anchor--></a>. Form 10-K Summary.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">None.</div>

      <div><br/>
      </div>

      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter" style="width: 100%;"></div>

        <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">34</span></div>

        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

        <div class="BRPFPageHeader" style="width: 100%;">
          <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
          </div>

        </div>

      </div>

      <!--PROfilePageNumberReset%Num%35%%%-->
      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><a id="SIGNATURES"><!--Anchor--></a>SIGNATURES</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its
        behalf by the undersigned, thereunto duly authorized.</div>

      <div><br/>
      </div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 60%; vertical-align: top;" colspan="2">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TRANSACT TECHNOLOGIES INCORPORATED</div>
            </td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 5%; vertical-align: top;">&#160;</td>

    <td style="width: 55%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 5%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">By:</div>
            </td>

    <td style="width: 55%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ John M. Dillon</div>
            </td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 5%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Name:</div>
            </td>

    <td style="width: 55%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">John M. Dillon</div>
            </td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 5%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Title:</div>
            </td>

    <td style="width: 55%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Chief Executive Officer</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date: March 13, 2024</div>

      <div><br/>
      </div>

      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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.</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Signature</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Title</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ John M. Dillon</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Executive Officer and Director</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 13, 2024</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">John M. Dillon</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Principal Executive Officer)</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: bottom; border-bottom: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Steven A. DeMartino</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 13, 2024</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Steven A. DeMartino</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Principal Financial Officer)</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ William J. DeFrances</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Vice President and Chief Accounting Officer</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 13, 2024</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-top: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">William J. DeFrances</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Principal Accounting Officer)</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Haydee Ortiz Olinger</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chair of the Board</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 13, 2024</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Haydee Ortiz Olinger</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Audrey P. Dunning</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Director</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 13, 2024</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-top: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Audrey P. Dunning</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Daniel M. Friedberg</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Director</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 13, 2024</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Daniel M. Friedberg</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="text-decoration: underline;">/s/ Randall S. Friedman</span></div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Director</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;March 13, 2024</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Randall S. Friedman</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="text-decoration: underline;">/s/ Emanuel P. N. Hilario</span></div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Director</div>
            </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;March 13, 2024</div>
            </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Emanuel P. N. Hilario</div>
            </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>


</table>
      <div><br/>
      </div>

      <div class="BRPFPageFooter" style="width: 100%;"></div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">35</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <!--PROfilePageNumberReset%Num%1%F-%%-->
    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="FSIndex"><!--Anchor--></a>TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 88.28%; vertical-align: top;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Consolidated Financial Statements</div>
          </td>

    <td style="width: 2.64%; vertical-align: top;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#REPORT">Report of Independent Registered Public Accounting Firm</a> (PCAOB ID <span style="-sec-ix-hidden:Fact_e5aada421f434f84805d5f71261bf5ca">688</span>)</div>
          </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; color: #376092; font-family: 'Times New Roman'; font-size: 10pt;">F-2</div>
          </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#BalanceSheet">Consolidated Balance Sheets</a> as of December 31, 2023 and 2022</div>
          </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: center; color: #376092; font-family: 'Times New Roman'; font-size: 10pt;">F-4</div>
          </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#Operations">Consolidated Statements of Operations</a> for the years ended December 31, 2023 and 2022</div>
          </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; color: #376092; font-family: 'Times New Roman'; font-size: 10pt;">F-5</div>
          </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#ComprehensiveIncome">Consolidated Statements of Comprehensive Income (Loss)</a> for the years ended December 31, 2023 and 2022</div>
          </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: center; color: #376092; font-family: 'Times New Roman'; font-size: 10pt;">F-6</div>
          </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#Equity">Consolidated Statements of Changes in Shareholders&#8217; Equity</a> for the years ended December 31, 2023 and 2022</div>
          </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; color: #376092; font-family: 'Times New Roman'; font-size: 10pt;">F-7</div>
          </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#CashFlows">Consolidated Statements of Cash Flows</a> for the years ended December 31, 2023 and 2022</div>
          </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #FFFFFF;">
            <div style="text-align: center; color: #376092; font-family: 'Times New Roman'; font-size: 10pt;">F-8</div>
          </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#Notes">Notes to Consolidated Financial Statements</a></div>
          </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; color: #376092; font-family: 'Times New Roman'; font-size: 10pt;">F-9</div>
          </td>

  </tr>


</table>
    <div style="text-align: left;"><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div class="BRPFPageFooter" style="width: 100%;"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-1</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="REPORT"><!--Anchor--></a>REPORT OF INDEPENDENT REGISTERED PUBLIC<span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">
        ACCOUNTING FIRM</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">To the Shareholders and Board of Directors of</div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TransAct Technologies Incorporated</div>

    <div><br/>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Opinion on the Consolidated Financial Statements</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">We have audited the accompanying consolidated balance sheets of TransAct Technologies
        Incorporated&#160; and its subsidiaries(the &#8220;Company&#8221;) as of December 31, 2023 and 2022, the related consolidated statements of operations, </span>comprehensive income (loss),<span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"> changes in shareholders&#8217; equity and cash flows for each of the two years in the period ended December 31, 2023, and the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion, the consolidated
        financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the two years in the period ended December 31,
        2023, in conformity with accounting principles generally accepted in the United States of America.</span></div>

    <div><br/>
    </div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Basis for Opinion</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">These consolidated financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s consolidated
      financial statements based on our 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.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about
      whether the 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.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">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.</div>

    <div><br/></div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Critical Audit Matters</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required
      to be communicated to the audit committee and that: (1) 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 matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on
      the accounts or disclosures to which it relates.</div>

    <div><br/>
    </div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold;">Valuation of Inventories - Excess and Obsolete Inventory Reserve<br/>
    </div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">As described in Note 2 to
      the consolidated financial statements, inventories are stated at the lower of average cost or net realizable value. The Company reviews net realizable value based on estimated selling prices in the ordinary course of business less estimated costs of
      completions, disposal and transportation, historical usage and estimates of future demand. Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities, and net realizable value.</div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"> <br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">
      <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">A <span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; text-indent: 0px; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">majority of the Company&#8217;s excess and obsolete inventory reserve relates to excess quantities of products, based on the Company&#8217;s inventory levels and future product purchase commitments compared to assumptions
          relating to future demand and market conditions. As of December 31, 2023, the Company&#8217;s consolidated inventories balance was $17.759 million</span>.</div>

    </div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">The principal
      considerations for our determination that the Company&#8217;s <span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; text-indent: 0px; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">valuation of inventories, specifically the excess and obsolete inventory reserve, was a critical audit matter included the following: (1)
        management identifies inventories as a critical accounting estimate, and (2) there were significant judgments made by management in estimating the excess and obsolete inventory reserve, including developing assumptions related to future product
        demand based on historical usage and current market conditions. This in turn led to a high degree of auditor judgment in performing our audit procedures, which were designed to evaluate the reasonableness of audit evidence related to management&#8217;s
        assumptions of future product demand</span>.</div>

    <div><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div class="BRPFPageFooter" style="width: 100%;"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-2</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">Addressing <span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; text-indent: 0px; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">the matter involved performing procedures and evaluating audit evidence in connection with forming our overall opinion on the consolidated financial statements. These procedures included, among others, (i) obtaining an
        understanding of the Company&#8217;s accounting policy related to inventory, specifically as it relates to the excess and obsolete inventory reserve; (ii) evaluating management&#8217;s methodology and process for developing the excess and obsolete inventory
        reserve, including estimating assumptions related to future product demand based on historical usage and current market conditions; and (iii) testing management&#8217;s calculation of the excess and obsolete inventory reserve, which included evaluating
        the completeness and accuracy of underlying data used by management in the calculation, principally inputs such as actual historical usage and management&#8217;s determination of future estimated consumption of inventory</span>.</div>

    <div><br/>
    </div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      <ix:nonNumeric name="dei:AuditorName" id="Fact_d17c74eeb091468184ed7f75e2e4ba0e" contextRef="c20230101to20231231">Marcum LLP</ix:nonNumeric></div>

    <div><br/>
    </div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">We have served as the Company&#8217;s auditor since 2020.</div>

    <div><br/>
    </div>

    <div><br/>
    </div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:AuditorLocation" id="Fact_b8f9d020f24a4a45962377cb12df08c5" contextRef="c20230101to20231231">Hartford, Connecticut</ix:nonNumeric></div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">March 13, 2024</div>

    <div><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div class="BRPFPageFooter" style="width: 100%;"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-3</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="BalanceSheet"><!--Anchor--></a>TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CONSOLIDATED BALANCE SHEETS</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(in thousands, except share data)</div>

    <div style="text-align: left;"><br/>
    </div>

    <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Assets:</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Current assets:</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Cash and cash equivalents</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_dc38f793849b49d398505fb6cf842d88" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,321</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_583b533e6d5e4782b75189719d3e9120" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,946</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accounts receivable (net of allowance for expected credit losses of $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_5cfb9d009124444ca049f43740764ff5" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">768</ix:nonFraction> and $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_69cd8a5607b4489bbd6c58bcdcbfc67a" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">351</ix:nonFraction>)<br/>
              </div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_da7f8c026cb14a72b76f182cf03d53b9" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,824</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_5be95321430a414093f09cb81397971c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,927</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Employee retention credit receivable</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NontradeReceivablesCurrent" id="Fact_5fd6dc0d2f244fa6bb2eabe50093d6f4" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NontradeReceivablesCurrent" id="Fact_dcaf3368c30c4e248bee041f97a601ee" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,500</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Inventories</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_6f37ef3f7db84b4ea113c4274e48ce08" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,759</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_890f3619f73b4ab6957218d084b1b186" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,028</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Prepaid income taxes</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PrepaidTaxes" id="Fact_ec019ccb646649b88e5e6385a1ce6729" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">322</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PrepaidTaxes" id="Fact_cc488212d8274693b08b17c5ec692e84" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other current assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_c621a9ecf8c044ac9d4532230a8cc2a9" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">773</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_0ed2549279ef48ba81d668f705443126" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">724</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total current assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_47c80d47528f4025bb455a337e876702" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">40,999</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_b32ed7f0d1984329b2f02aee0d1a40c6" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">36,125</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Fixed assets, net</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_349ce91ac14746d29a84efcb2acc16f7" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,421</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_5020fa4f4289473f81eca36d73e98e11" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,781</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Right-of-use assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_7039a3bd928145c186887187892cd5b9" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,602</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_898b7a32715343cbaa3fff72cb278b40" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,488</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Goodwill</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Goodwill" id="Fact_beedf814ca784025aa80bd3a309a4216" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,621</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Goodwill" id="Fact_0459ccce31294f4d93e2f3c9b01ff012" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,621</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_ac81821a901646049ede044faf82a3bf" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,304</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_74eae8de516b45d3bd6212215677a06d" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,327</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Intangible assets, net</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" id="Fact_688b7b571d5849cb987c3b48ff402985" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">88</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" id="Fact_832f2ad90b014288b5756ec27867b837" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">242</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_134028c384a14bf496401b2925751878" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">163</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_eee28124a15d4468ba007e98caefc7fb" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">248</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsNoncurrent" id="Fact_f98528221e334acbb8e30b0227adee44" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,199</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsNoncurrent" id="Fact_52a881492ad1420f8305452b8aad9a57" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,707</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Assets" id="Fact_5b0aed3ca7b24b48bda59bc9f77ebff8" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">54,198</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Assets" id="Fact_941ed27c59ec4204915f05b3593ca333" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,832</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Liabilities and Shareholders&#8217; Equity:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Current liabilities:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Revolving loan payable</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" id="Fact_b52ccdf38ded4423a09e0bbd24cedc89" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,250</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" id="Fact_4d69ea46c3fb46fe93a0caa7d1d8220c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,250</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accounts payable</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" id="Fact_9431ea352afe4a57b623461b9c954df2" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,431</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" id="Fact_3ce1a3fc8f6d47cf9d4caf4e4c12bb63" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,395</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accrued liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_c6bc5b43bf1440c8b24889bfa600510d" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,947</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_7567297804fc4ccd91278f0f8ae5f8fa" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,077</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Lease liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_7bf1f8875ea9401f9a540a9fb804bde5" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">929</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_7b92017c9d514168a99a6fba3cfd5360" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">875</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_82ae79e1294f41d198e9ecd7f629b7cd" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,079</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_138cf84547f242aab1e1ce89c2b02615" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,329</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total current liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_676974ef9d4148bfbc9f533bb6694ce1" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,636</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_4e1872f1b4304d7baf9aef758b0d213c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,926</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, net of current portion</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_e1070e5401514475b77b36636d1d9f36" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">209</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_ac778866a23b42a2820a3b4c6ffb0492" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">143</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Lease liabilities, net of current portion</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_528f1116b73f41089a4fbb63eade9f06" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">720</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_13ee33ff73f4499988f10eb686e63255" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,683</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_045babe7d33c4ec293dbaf327c8358ab" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">219</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_9e1c11405ee4484885d92a297297e43c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">218</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" id="Fact_31320663447a42d8867cba3f5eee87a3" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,148</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" id="Fact_6ae12eae776c4be7b38a720951b43143" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,044</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Liabilities" id="Fact_59afe1063d52406abe1778356a4a9442" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,784</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Liabilities" id="Fact_7730048b802f40cab53a203b2d8db1e0" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,970</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Commitments and contingencies (see Notes 8 and 14)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"><span style="-sec-ix-hidden:Fact_d8bb3ca2c1cc4c1da765250cf40e88ae"> </span>
            <br/>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"><span style="-sec-ix-hidden:Fact_c72e1b0883654e65a6261fa0e7aa434c"> </span>
            <br/>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Shareholders&#8217; equity:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Preferred stock, $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" id="Fact_f86ce06d010f435abf9124342bf6db5b" contextRef="c20221231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" id="Fact_dddc05d2e8aa4a728a7b7a4c80efafd9" contextRef="c20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span> value, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" id="Fact_a42d039de3dc41afbd55d3c97cbf21ff" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" id="Fact_1edbc5a0346c43cebf620bf74588452e" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">4,800,000</ix:nonFraction></ix:nonFraction></span> authorized, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" id="Fact_fe65d4b75ab64a77896a4d19a0e05e8c" contextRef="c20221231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" id="Fact_fbe770e4c6b1429d9d607365a60810a5" contextRef="c20231231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" id="Fact_c124fbc38d5844fd98797fb99fd0b53f" contextRef="c20231231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" id="Fact_0af5a4ebe8144710a9e3aed1bb72e2db" contextRef="c20221231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen">none</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span> issued and outstanding</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PreferredStockValue" id="Fact_40091bc7741d4c30bc94235bab08a537" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PreferredStockValue" id="Fact_aa1706a466b94e0daed752056a8fea6e" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Preferred stock, Series A, $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" id="Fact_9c235aa12bce46f29f8d1271525a7276" contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" id="Fact_809f19b31ab0419d98a33913bea52408" contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span> par value, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" id="Fact_c768fa0b756f459a883e928ff4ea1141" contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" id="Fact_22b81b79721c4d438b9e3e09277e136a" contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">200,000</ix:nonFraction></ix:nonFraction></span> authorized, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" id="Fact_aa91782b29454f35a0aae58c79280a1d" contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" id="Fact_7ed6d242b5fc4796b0e95135652705cd" contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" id="Fact_7b9ccf585c5d4ecb9542ecaddca613a2" contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" id="Fact_78bab9f77b8c4e0b9062d96b430517e1" contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen">none</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span> issued and outstanding</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PreferredStockValue" id="Fact_b3caad4f6f4f4b829ae5cce3127cc311" contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PreferredStockValue" id="Fact_88c0df72a8c5449f92f0b188457537bc" contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Common stock, $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_2a1c6cbaf196409f9f26d3ce2a2704c2" contextRef="c20221231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_081862335a224749b7c0291b12e7031d" contextRef="c20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction></span> par value, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_a1a48a6b8a364f589d7d2c1fb79041b2" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_8de65fef4ec2462caa29b56168dcf35d" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">20,000,000</ix:nonFraction></ix:nonFraction></span> authorized at December 31, <span style="text-indent: 0pt;">2023</span> and <span style="text-indent: 0pt;">2022</span>; <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_a2d9c23e39ae45188d662d26184b9bc1" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">14,003,653</ix:nonFraction></span> and <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_d9360c2a97724a739630f1f31160adbd" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">13,956,725</ix:nonFraction></span> shares
                issued; <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_9aac3f6c46504bcd9b389800fc13bc08" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">9,958,811</ix:nonFraction></span> and <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_021edece6d584b4887d3dbd01a5c2b4a" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">9,911,883</ix:nonFraction></span>
                shares outstanding, at December 31, <span style="text-indent: 0pt;">2023</span> and <span style="text-indent: 0pt;">2022</span>, respectively</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_e9293e9da13042df8a824413584b1695" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">140</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_d79a01ab64174b61b5acd6cf7fb666c9" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additional paid-in capital</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" id="Fact_61f71ec4c79b46d48bcade1398dab821" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,055</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" id="Fact_0712927a75454d7bb8d671f668585304" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">56,282</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Retained earnings</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_c8ad956cdfdc4b20b25ca427ee45edd4" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,378</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_7537049d901344d7a5f92a48207479b0" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,630</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated other comprehensive loss, net of tax</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_d1a2e72d73474221a858656645d50549" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">49</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_fdeae2fbd31547db958d3723c52a4d26" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">79</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Treasury stock, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" id="Fact_778bf5fafae74352840cfde6b015f35e" contextRef="c20231231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" id="Fact_41a2171c81b5487eb8580795f21f0d7a" contextRef="c20221231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">4,044,842</ix:nonFraction></ix:nonFraction></span> shares, at cost</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:TreasuryStockValue" id="Fact_813f496465c9408dbb2883294a468782" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">32,110</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:TreasuryStockValue" id="Fact_279cc2e009164842adfe227fc10e3d56" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">32,110</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total shareholders&#8217; equity</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_7e41591c679f40daa3ccc023a5793d5d" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">39,414</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_514e8c2b684846ab8a2c665dc4af7dad" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">33,862</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total liabilities and shareholders&#8217; equity</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_083b3e7b48794daab53e4757a40932a6" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">54,198</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_7bedaedb6b3c4d6696fcb6a07a8ecdb8" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,832</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="width: 100%;" class="BRPFPageFooter"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-4</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="width: 100%;" class="BRPFPageFooter"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="Operations"><!--Anchor--></a>TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CONSOLIDATED STATEMENTS OF OPERATIONS</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(in thousands, except per share data)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_b914f3ce647a4c0f8346609e0ad2a253" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,631</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_dbb960f735184e13a2cfa3af5f088b4b" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">58,139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Cost of sales</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CostOfRevenue" id="Fact_69c23b3db0cb45a891d7afa2793e21b7" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">34,231</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CostOfRevenue" id="Fact_1b3a75d70980491c9d0ee70620d0f0e1" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">33,727</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_b826665da3574e42a635bb60c78085c1" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">38,400</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_dfd7f60d840649d1ad3692decf07a86d" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">24,412</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Operating expenses:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Engineering, design and product development</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_5d4de807d9d14ed4823cf9fe616cb038" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,442</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_493beea135864d9d9816fdf88dfc5b82" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,570</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Selling and marketing</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" id="Fact_dfaf9e435c454cba8f0521e7328c632f" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,934</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" id="Fact_0d7aac92a23a494196a6902292beac50" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,326</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">General and administrative</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" id="Fact_92510088bbb340ddb1ca5204b49ca33d" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,318</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" id="Fact_aaa6fc5e4fba4b95beffea4a27af82b3" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,193</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingExpenses" id="Fact_ff795e8c87b64f879038a7ac72017883" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">32,694</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingExpenses" id="Fact_abab51d8dbdc4049be43bff38a0c6ef3" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">32,089</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Operating income (loss)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_609fbabd315047d19fb4324d6a48a785" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,706</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_4611ceafb8a6446fb71cf0d36f03f4ff" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">7,677</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Interest and other income (expense):</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Interest expense</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:InterestExpense" id="Fact_e00094b182bc41fe9088342e0bbc2902" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">310</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:InterestExpense" id="Fact_66761a3d3d53417d82dd2627ad217b4c" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">208</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Interest income</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InterestIncomeDomesticDeposits" id="Fact_664ed0a3c1bb47e8acd42efda92d5c05" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">55</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InterestIncomeDomesticDeposits" id="Fact_42bcf35875824ee9a3138dbd544a6aa5" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other, net</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_eb572a242efc4a34b22aff8e7b2f6812" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">452</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_208c1a5da84049f1869faedd1c09d67c" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">16</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_d52e5e5495cc47039106578f9074211c" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">197</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_e2df044afd134d4c9c869300bd1e9948" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">224</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Income (loss) before income taxes</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_db9675ebee0e4a4eabd956569d5b7201" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,903</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_3e478f21238d43fd8bec39fe95053e6d" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">7,901</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Income tax (expense) benefit</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_604b3def360d41dd83a6dd1d3441005d" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,155</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_442da0f297014d3796640168da238b29" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,965</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_e673ca574d7745df842c6d89b8b4f42e" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,748</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_3ed8be3210bb4e70a0fd7fa3a937cc95" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">5,936</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss) per common share:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_4eb214617b6949229dd34d649cbc2fe8" contextRef="c20230101to20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.48</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_e80484973380404fb38e2540cf277b45" contextRef="c20220101to20221231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.60</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_ecde569f4bf3484782479ab8e6892a32" contextRef="c20230101to20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.47</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_892cb70786714b2c853dc29f7eab6d8a" contextRef="c20220101to20221231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.60</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Shares used in per-share calculation:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_d0286938e38c44a49cf415096d8b7fe1" contextRef="c20230101to20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,951</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_00d00d609508466eb9605ec64b913a63" contextRef="c20220101to20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,905</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_889cbdb12eea49648e867573c7436a6e" contextRef="c20230101to20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,021</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_f2ddee4413684a96b04aa98a5f3b7e6d" contextRef="c20220101to20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,905</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-5</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="width: 100%;" class="BRPFPageFooter"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="ComprehensiveIncome"><!--Anchor--></a>TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(in thousands)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_a8f6449d314f4ba8b9eb3fdc932aebe6" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,748</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b12052b84f7a4232910080d7bc5f990e" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">5,936</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign currency translation adjustment, net of tax</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_c664e3c09b6148ee91cdeb329dcdd4be" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">30</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_a78e7a6171d1416cb65883114a749d59" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">222</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Comprehensive income (loss)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" id="Fact_12a01d6ed911485a96240f7f2ff15cc1" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,778</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" id="Fact_0a73c66220f44385b57063917d0a867e" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">6,158</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>


</table>
    <div style="text-align: left;"><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-6</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="width: 100%;" class="BRPFPageFooter"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="Equity"><!--Anchor--></a>TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS&#8217; EQUITY</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(in thousands, except share data)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Common Stock</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additional</div>
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Paid-in</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Retained</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Treasury</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated</div>
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Comprehensive</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> Shares</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Amount</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Capital</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Earnings</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Income (Loss)<br/>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Balance, December 31, <span style="text-indent: 0pt;">2021</span></span></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_76545618a92c4e2e847d7bee0a94a3e9" contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">9,872,889</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_70e365f37d194fd988fad07b319eab64" contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_41811175df2442f98031f147c20d9781" contextRef="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">55,246</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_e2fdbf4d8cf24fef9ecb0eec255c546b" contextRef="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,566</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_0c137a32f9214b8fbeb18796a3694e56" contextRef="c20211231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">32,110</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_de2b5d0798584a7fa66e012a25c0267c" contextRef="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">143</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_1ef706c1c3214f1eb30ccc8a05c8d8ed" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">38,984</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Issuance of common stock from exercise of stock options</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_1b2ae42a192c47c0b4f01802b7b7ac42" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">17,500</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_88ee407701814295936cc10f7d26b15d" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_f80498bdd0de4ba9a4b48329a78a1fb3" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_1c8739dbd16c4b9a9742c0058305b851" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_ab68e49633fb468abc74642a4c7a931a" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_43d4c3da527144a48156dc0623a4c075" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_b76246ae6cb84212b03e13b6affe6ede" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Issuance of common&#160; stock on restricted stock units</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" id="Fact_b6df49a369f24e31b5110b71eecb0069" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">47,931</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_7d6a952111404ab6a666cbd420099c4e" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_b3f0402d997c4f769140108c6285f24d" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_83f7f6a1eea54375a16260c6a55ade1c" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_b5d030a2f24247cc843c043623db82a1" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_099914591956455cb52aa6ed177100ff" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_e2e4ea92d5a14375a7bb43878a46fc3d" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Relinquishment of stock awards and deferred stock units to pay withholding taxes</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" id="Fact_5fbe6d225c544664aee772d4ba7deb10" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">26,437</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_e71955dfa99b45479d2166b37e4dbde0" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_337dc3dab8694bca85a6ac0fa2ab8080" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">119</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_84b213cf6e0e48e29baaf6907c73175b" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_03ade248eed648b9a1933180d9fabba8" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_f9781567814245e0bb9a14de322e4982" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_8263c6cc777b49958818e3d25c1b83f5" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">119</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Share-based compensation expense</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_5e6483a656a44093bfb09fee67d530dc" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_09129e578b1e4d958fbd2521380c84fd" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,155</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_d16ff05b84494c45bf9b098808d23023" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_33a70220c26e4c9daf33c8cf6d2ae19c" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_4767f28956ad4aa186febde0a33dbe60" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_f3e55871cf0e4e6b827726daa1319cf4" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,155</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign currency translation adjustment, net of tax</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_f7a9ec93ead54df0a7f7bfe3a228ebe2" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_7786ff55e8544d129295ae0ae52cc832" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_e26c4b92e48b4913a2f72723cbb90e21" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_d6ae3364a2ab4fc4b1075b4beb75aff1" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_afb2c6aa82544e9cadebd4344921135d" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">222</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_fc159d968d3e4c8eb7d4a34ab437a730" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">222</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net loss</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_14473db1f9f040c6a44da18397d6abe1" contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_579cd1e67f754544ba3e2fc8b55f8e71" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_3bfbf9c358ea46418ad7127159fd32df" contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">5,936</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_10bfeffbd8544efcaf6e651bc0a11051" contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_528c65a63c2046dab351de4e2dfa9083" contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_e7274cb65f8448c79a2b8e108281e293" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">5,936</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Balance, December 31, </span><span style="text-indent: 0pt;">2022</span></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_b2e691f5a8d246b2ae02fb6e0468a7f6" contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">9,911,883</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_f7964df9451b4bcfb09661cc9eab0c92" contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_af99d8848beb41f1b4d37d835ce467c6" contextRef="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">56,282</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_49cc3d31aa88428e89917b05256d7325" contextRef="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,630</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_a8edee4d299246f0a1d4a330e732da43" contextRef="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">32,110</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_58ccab7b91b74bf29e11f392975d87eb" contextRef="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">79</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_e44455ba63bf4f73807ad0c42af22e96" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">33,862</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Issuance of common stock from exercise of stock options</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_04d1ac73b11b49d0b632753df8c324a8" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">1,875</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_a716d03a241544f6832f135eabdb5f16" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_fa13b004e7224bd8b4604e423a8578ac" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_f07f7324910944fe946ac47e15d9f6d8" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_4b32a09fe10740a2bf4917a4bca498d5" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_3908b74225314d4abbd9579944c4c712" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" id="Fact_c823ca8c10a940d3bc078d267676d8ea" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Issuance of common&#160; stock on restricted stock units</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" id="Fact_d5ada3917d014465968799c8e3858a99" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">58,705</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_daf0e4d4351f4d908b503f546a725b48" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_016e7157f7d248cf86f80987e8ba8ce5" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_44d655c1e3184294986ac9bcc716298a" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_e11e3b7527ed49e69ad374dd6954a33e" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_fe9b5977b7af411d95294c1d2e5fbefa" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_31ba323112d145e2ab4a2460e6ab1162" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Relinquishment of stock awards and deferred stock units to pay withholding taxes</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" id="Fact_8c9a8e19373546a486738b1042074ffe" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">13,652</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_511d13f11300477ab9f5a29425daea21" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_99743025ab934ccaac9b3972d3124a1d" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">87</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_a1d19936937c46ffb8b4f5734c5a0029" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_55a0530790e049a2a3d0324da96cdc7a" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_b2d746ee52354c0ab266b063d859117e" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_932fae7ec5e84fc0a3e63922fc5bf2ce" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">87</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Share-based compensation expense</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_c4b56e451ef14c218d9f059ca23ef383" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_fd4bb400687345a0bdfd9b51ee03f3b5" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">860</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_d59aa3ee2e8643dcb39959eebbd20ba3" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_c4485af82f984ffaa3365c7c4c6c76a0" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_df297503b283431cb5b24207fd52aa31" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_ea4e768ad6a84c6f8dc488667b4934d8" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">860</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign currency translation adjustment, net of tax</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_508f40c9e3a24dd5962aca099499117c" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_c92d2555fb4f4e7bb339f1a250ef4314" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_77c191a5b19d4258b379b7bf4e5dc5e1" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_c82898ef706d470d83929ccaa6a7a6be" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_20bed914789c481bbda12d404065ce1a" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">30</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_bd182215128641299f10e706b6069e37" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">30</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income<br/>
              </div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_ca831f062d4a41dfaf5f43dc726fd168" contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_4d9c008e8d294f67a7cda50950c04b40" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_d4e9a3e2b1004b358010255a91dc3ceb" contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,748</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_926f538deeed428788ec063fb5b16646" contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_5ad72ed7e1874846bbb59a1db880164b" contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_954e697ac59642b2a0abe6e7f4417caf" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,748</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, December 31, <span style="text-indent: 0pt;">2023</span></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_eb423139fe6143b59010e507dee6b15c" contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">9,958,811</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_a334ceabef0b407f8c249d25a1572b2f" contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">140</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_6ba365bffcef4a3ebdf46328f9463c7f" contextRef="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,055</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_f2be9d52f8f2476c8f7d58bc4132291d" contextRef="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,378</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_110de951c97d48c9930bf030c6bc0cdd" contextRef="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">32,110</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_2a81968837774794a59fa58048bd6880" contextRef="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">49</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_8045ae1ffab048398215e51816ff1055" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">39,414</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
    <div style="text-align: center;"><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-7</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="width: 100%;" class="BRPFPageFooter"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="CashFlows"><!--Anchor--></a>TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(in thousands)</div>

    <div style="text-align: left;"><br/>
    </div>

    <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Cash flows from operating activities:</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_2d5eb2e9232c4264b3d8fa00a565b686" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,748</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_31a382fac862431cbd03503ac68fd721" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">5,936</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Share-based compensation expense</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_9ac0181595de400fa8089860ecf1956f" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">860</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_47a3f2b666f04f91add4520bab4ac1b3" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,155</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Depreciation and amortization</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" id="Fact_ea0658c7def544759dbf0bf6491c013a" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,489</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" id="Fact_22998a2367e545fab0bf6c9de5605a3a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,332</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred income tax benefit</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_97380fed6527440c9e6c6b74f0d0b91b" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,020</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_96a20a12f132414098b0c70594e843ae" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,141</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Loss on the disposal of fixed assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GainLossOnSaleOfProperty" id="Fact_45c4d379315649e58830fed5f7d39e7e" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GainLossOnSaleOfProperty" id="Fact_e9e70722973b4c7b949f798ad060678a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign currency transaction losses</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossUnrealized" id="Fact_c18a5fc1302449c2b423a1267907da37" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">30</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossUnrealized" id="Fact_63099241cad94149a739b8c0b021e496" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">6</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Changes in operating assets and liabilities:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accounts receivable</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" id="Fact_8ec2b59af9f14f07bd5490cfcc3d701a" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">4,248</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" id="Fact_27a5b7dc5840485faa04d34943df8dfd" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,421</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Employee retention credit receivable</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" id="Fact_052d2dfb359f42eaaa3a59d3c10a47b7" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,500</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" id="Fact_573838b9ca2f49209b015aa5d69605d5" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Inventories</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_66a8089ee4a0497a9466e1702d6d25a3" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,658</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_f2a1bb09e7ab4932bd2825a54b67b8da" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,378</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Prepaid income taxes</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidTaxes" id="Fact_7a10f902fbc44c7cb5005a1cada60859" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">322</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidTaxes" id="Fact_a4c454fac6f94700aa94714c8e230be4" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">137</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other current and long-term assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" id="Fact_ea7d640db3f54195a04da51f4ef032bf" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" id="Fact_19888de1a0b143e794b3928ea73932a1" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">167</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accounts payable</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_cc3dbf4403af48fd9ccf21839dbbdcf0" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,988</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_d7b707ef3f484f6f9ad8d8e74fd835ed" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,103</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accrued liabilities and other liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" id="Fact_ec2af548a4b64bfa85f96d7867e5eb81" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">650</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" id="Fact_1e639b26d0fe48c3a42de2f95164a69e" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">754</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net cash provided by (used in) operating activities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_9223a90022924302b2fa0c0c5dba5a2b" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,507</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_1568cdbf273e400991b754dcdbf83487" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">12,220</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Cash flows from investing activities:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Capital expenditures</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_d66af15cd3d54ee0ae1e068645372512" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">901</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_1dd7a897f50a48f788b8866c94fb2f50" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,299</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net cash used in investing activities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_a4ff8854be624d89a469220afaf833e5" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">901</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_0b1fe2d9a48747748af1a59daf66e256" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,299</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Cash flows from financing activities:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Proceeds from bank borrowings</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" id="Fact_86de16550a094d6eb00603aa5fd0cdc0" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" id="Fact_36e1d5ac5b4a4ddca1bc44833e8439aa" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,250</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Withholding taxes paid on stock issuance</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_5dc1ed4017254927873b3c3a4afff452" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">87</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_d9918320542b49f984273d73ab13a8da" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">119</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Payment of bank financing costs</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PaymentsOfLoanCosts" id="Fact_acad41fdd7e84da0bf1b5f877718de73" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsOfLoanCosts" id="Fact_6de3de05e1ba46fcacf49599bb2173d6" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">69</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net cash (used in) provided by financing activities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_a11b1a38d1ee426aa98b833843d41b80" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">87</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_acef8849aa864e05b6e0c212c58ca1bc" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,062</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Effect of exchange rate changes on cash and cash equivalents</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_d39116e2836b437a95961cb2f657e2d4" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">144</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_7b65faf56381488b99d42d0a7ab2bd4e" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">54</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Increase (decrease) in cash and cash equivalents</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_1e4d86dd412547faac7d0d8465968f63" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,375</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_0bb229d843a74ffa9798381275f4fbae" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">11,511</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Cash and cash equivalents, beginning of period</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_13f32c6074b947efb8becff4904c278c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,946</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_e65734941c8a4dfab10893536d4e2e00" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">19,457</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Cash and cash equivalents, end of period</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_dfb768a9ea044a49b000b5f22e9fff3e" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,321</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_ac89d22a68ad460e9997a9a2b667629d" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,946</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Supplemental cash flow information:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Interest paid</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InterestPaidNet" id="Fact_79777676408142fca66ebad738aada05" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">268</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InterestPaidNet" id="Fact_a89f93b7bc40416baef76dcd88f608ce" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">129</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Income taxes paid</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxesPaid" id="Fact_c47161ec0c7e4714aa6fb082d139dc42" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">160</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxesPaid" id="Fact_fa515421eb0d4fac8baa025de32dd4b0" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">62</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Non-cash capital expenditures<br/>
              </div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" id="Fact_1255971997634ab895c16e57c6817632" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" id="Fact_6467a61154ba454b8b2cb8f0f6d6852a" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">54</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
    <div style="text-align: left;"><br/>
    </div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-8</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="width: 100%;" class="BRPFPageFooter"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="Notes"><!--Anchor--></a>TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</div>

    <div><br/>
    </div>

    <ix:nonNumeric name="us-gaap:NatureOfOperations" id="Text_6875b726ea15451c8fd630914494410d" contextRef="c20230101to20231231" escape="true" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1. Description of business</div>
</ix:nonNumeric>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc1" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc2">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc2" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc3">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Technologies Incorporated (together with its subsidiaries, &#8220;TransAct,&#8221; the &#8220;Company,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or &#8220;our&#8221;), which has its headquarters in
      Hamden, Connecticut and its primary operating facility in Ithaca, New York, operates in <ix:nonFraction name="us-gaap:NumberOfOperatingSegments" id="Fact_fbda6c77376c44ac84406e6077c71128" contextRef="c20230101to20231231" unitRef="U004" decimals="INF" scale="0" format="ixt-sec:numwordsen">one</ix:nonFraction> operating segment: software-driven technology
      and printing solutions for high growth markets including food service technology, casino and gaming and &#8220;point of sale&#8221; (&#8220;POS&#8221;) automation markets.&#160; Our solutions are designed from the ground up based on market and customer requirements and are sold
      under the BOHA!<sup>TM</sup>, AccuDate&#8482;, Epic, Ithaca&#174;, and EPICENTRAL<sup>&#174;</sup> product brands.&#160; We sell our products to original equipment manufacturers, value-added resellers, select distributors, and directly to end-users.&#160; Our product
      distribution spans across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. TransAct also provides world-class service, spare parts, accessories and printing supplies to its
      growing worldwide installed base of products.&#160; We also generate revenue from the after-market side of the business, providing printer and terminal service, consumables and spare parts in addition to revenue from our <ix:nonFraction name="tact:NumberOfSoftwareSolutions" id="Fact_585d0ad6f3154607b384cba8094d21f6" contextRef="c20231231" unitRef="U005" decimals="INF" scale="0" format="ixt-sec:numwordsen">two</ix:nonFraction> software solutions; (i) our line of BOHA! software applications used to automate the back-of-house operations of restaurants, convenience stores and
      food service operators and (ii) the EPICENTRAL Print System (&#8220;EPICENTRAL&#8221;), that enables casino operators to create promotional coupons and marketing messages and print them in real time at the slot machine.</div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc3" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc4">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
      </span></div>
</ix:continuation>
    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc4" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc5">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-weight: bold;">Current Business Trends</div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc5" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc6">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt;">After strong demand during the year due in part to our primary competitor&#8217;s
        struggle to deliver products in the face of supply chain constraints, in late 2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain
        concerns advised us that they would temporarily reduce orders until their stock normalized. This slowdown impacted our results in the fourth quarter of 2023, and we expect this trend to continue to impact results in 2024. Further, our primary
        competitor in the casino and gaming market has resumed supplying product with increasing volume in 2024, which has begun to result in downward pricing pressure in that market and could exacerbate the demand slowdown, either of which could
        negatively impact our worldwide casino and gaming sales. In addition, we have experienced cost increases as a result of current economic conditions, most of which we have been able to offset by increasing prices of our products.&#160; However, there can
        be no guarantee that we will be able to increase prices sufficiently to offset any future such cost increases that cannot be predicted, and we may be impacted by supply chain disruptions, inflationary pressures and other global economic conditions
        that may affect the markets we serve and from which we source our supplies and parts.</div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc6" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc7">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt;"> <br/>
      </div>
</ix:continuation>
    </div>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc7" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc8">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">Balance Sheet, Cash Flow and Liquidity.&#160;</span><span style="font-family: 'Times New Roman'; font-size: 10pt;">During the third quarter of 2023, we began a cost reduction
          initiative to reduce our overall level of operating expenses that includes reducing employee headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering resources and other expenses, and to a
          lesser extent, certain general and administrative expenses. We expect these actions will result in approximately $<ix:nonFraction name="us-gaap:OperatingExpenses" id="Fact_b3afab6718384f5593205e4166a30dd9" contextRef="c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember" unitRef="U001" decimals="-6" scale="6" sign="-" format="ixt:num-dot-decimal">3</ix:nonFraction> million of
          annualized savings beginning in 2024, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts we have taken to bring
          expenses in line with our revenue and mitigate the impact of global economic conditions such as supply chain disruptions and inflation are sufficient or adequate, and we may be required to take additional measures, as the ultimate extent of the
          effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.</span></div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc8" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc9">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc9" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc10">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </span> </div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc10" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc11">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc11" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc12">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial
        obligations over the 12 months following the date on which the Consolidated Financial Statements included in this Annual Report on Form 10-K (this &#8220;Form 10-K&#8221;) were issued, including consideration of the actions taken to manage expenses and
        liquidity, we believe that our net cash to be provided by operations combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations,
        capital spending, and working capital requirements and to comply with the financial covenants of our credit facility over at least 12 months following such issuance date.</div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc12" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc13">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation></div>

    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc13" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc14">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc14" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc15">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Use of Assumptions and Estimates</div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc15" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc16">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc16" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc17">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc17" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc18">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc18" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc19">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc19" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc20">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">Management&#8217;s belief that the Company will
            be able to fund its planned operations over the 12 months following the date on which the Consolidated Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, inflation,
            rising interest rates, capital expenditures and other operating costs. Our current assumptions are that casinos and restaurants will remain open and consumer traffic will continue to remain strong during 2024. Though demand for our products at
            casinos has increased substantially post-COVID, we cannot predict the ultimate impact of the current economic environment, including inflation, rising interest rates and supply chain disruptions on our customers, which may impact sales. We
            believe that we are positioned to withstand the impact of any potential economic downturn or slower than anticipated economic recovery and we would be able to take additional financial and operational actions to cut costs and/or increase
            liquidity.</span> </span></div>
</ix:continuation><ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc20" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc21">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span>
       <br/></div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc21" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc22">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">In addition, the presentation of the accompanying audited Consolidated Financial Statements requires us to make estimates
        and judgments that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of contingent assets and liabilities. Our estimates include those related to revenue recognition, accounts receivable, inventory
        obsolescence, goodwill and intangible assets, the valuation of deferred tax assets and liabilities, depreciable lives of equipment, share-based compensation and contingent liabilities. We base our estimates on historical experience and on various
        other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates used.</div>
</ix:continuation>
      <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc22" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc23">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation></div>

    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc23" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc24">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc24" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc25">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>
</ix:continuation>
    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-9</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

    </div>

    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc25" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc26">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc26" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc27">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Smaller Reporting Company</div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc27" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc28">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc28" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc29">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc29" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc30">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc30" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc31">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, we may choose to prepare our disclosures relying on certain scaled
      disclosure requirements for smaller reporting companies in Regulation S-K and in Article 8 of Regulation S-X.</div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc31" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc32">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc32" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc33">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc33" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc34">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc34" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc35">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The scaled disclosure requirements for smaller reporting companies permit us (i) to include less extensive narrative disclosure than required of other
      reporting companies, particularly in the description of executive compensation in our proxy statement and (ii) to provide audited financial statements for two fiscal years in our Form 10-K, in contrast to other reporting companies, which must provide
      audited financial statements for three years.</div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc35" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc36">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc36" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc37">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc37" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc38">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc38" continuedAt="Text_7834b56d0ede44659d9d969ff950edfc39">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">We will cease to be a smaller reporting company if we have (i) equal to or greater than $250 million in market value of our shares held by non-affiliates as of the last
        business day of our second fiscal quarter and (ii) if the market value of our shares held by non-affiliates does not exceed $700 million as of the last business day of our second fiscal quarter, equal to or greater than $100 million in annual
        revenues for the most recent fiscal year.</span></div>
</ix:continuation>
    <ix:continuation id="Text_7834b56d0ede44659d9d969ff950edfc39">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation>
    <div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div style="width: 100%;" class="BRPFPageHeader">
      <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

    <ix:nonNumeric name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="Text_9527a241fd8745e49657dbef402ee434" contextRef="c20230101to20231231" escape="true" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2. Summary of significant accounting policies</div>
</ix:nonNumeric>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e1" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e2">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e2" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e3"><ix:nonNumeric name="us-gaap:ConsolidationPolicyTextBlock" id="Text_a05ed4af955d48f9a8e48d290aa3a0e8" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Principles of consolidation: </span>The
      accompanying Consolidated Financial Statements include the audited Consolidated Financial Statements of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and
      unrealized profit. </div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e3" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e4">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e4" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e5"><ix:nonNumeric name="us-gaap:UseOfEstimates" id="Text_b1b972a8872d4c509b46c4009efc9793" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Use of estimates</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) requires management to make
      estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements and the reported amounts of sales and
      expenses during the reporting period. Actual results could differ from those estimates.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e5" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e6">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e6" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e7"><ix:nonNumeric name="us-gaap:SegmentReportingPolicyPolicyTextBlock" id="Text_04764b470eaa42c684770ef0114aa186" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Segment reporting</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">: </span>We apply the provisions of the Financial Accounting Standards Board (&#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;) 280, &#8220;Segment Reporting.&#8221;&#160; We view our operations and manage our
      business as <ix:nonFraction name="us-gaap:NumberOfOperatingSegments" id="Fact_5ee08695f7a64d93924f01b5f7f84d6c" contextRef="c20230101to20231231" unitRef="U004" decimals="INF" scale="0" format="ixt-sec:numwordsen">one</ix:nonFraction> segment: the design, development and marketing of software-driven technology and printing solutions and providing printer
      and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#8217;s single operating segment include the organizational structure of the Company and the financial information available for evaluation by the chief
      operating decision-maker in making decisions about how to allocate resources and assess performance.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e7" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e8">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e8" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e9"><ix:nonNumeric name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="Text_0e53aba468e44a79aa7368b3cac37178" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Cash and cash equivalents</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e9" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e10">
<div><br/>
    </div>
</ix:continuation>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">
      <ix:nonNumeric name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="Text_771b1dfd57794242a8fbaa089ec08b18" contextRef="c20230101to20231231" escape="true" continuedAt="Text_77a518308e1240449c4a82a8aba765211"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e10" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e11">
<div style="text-align: justify;"><span style="font-weight: bold; font-style: italic; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; text-transform: none;">Accounts
          receivable and credit losses</span><span style="font-weight: normal; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">:&#160;The



          Company records accounts receivable when the right to consideration becomes unconditional. We establish an allowance for expected credit losses to ensure trade receivables are valued appropriately. </span> </div>
</ix:continuation></ix:nonNumeric>
      <ix:continuation id="Text_77a518308e1240449c4a82a8aba765211" continuedAt="Text_77a518308e1240449c4a82a8aba765212"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e11" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e12">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </span> </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_77a518308e1240449c4a82a8aba765212" continuedAt="Text_77a518308e1240449c4a82a8aba765213"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e12" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e13">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_77a518308e1240449c4a82a8aba765213" continuedAt="Text_77a518308e1240449c4a82a8aba765214"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e13" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e14">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">We are exposed to credit losses primarily through our net sales of products and services to our customers which are
        recorded as Accounts Receivable, net on the Consolidated Balance Sheets. We evaluate each customer&#8217;s ability to pay through assessing customer creditworthiness, historical experience and current economic conditions through a reasonable forecast
        period. Factors considered in our evaluation of assessing collectability and risk include: underlying value of any collateral or security interests, significant past due balances, historical losses and existing economic conditions including country
        and political risk. There can be no assurance that actual results will not differ from estimates or that consideration of these factors in the future will not result in an increase or decrease to the allowance for credit losses. We may require
        collateral or prepayment to mitigate credit risk.</div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_77a518308e1240449c4a82a8aba765214" continuedAt="Text_77a518308e1240449c4a82a8aba765215"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e14" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e15">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_77a518308e1240449c4a82a8aba765215" continuedAt="Text_77a518308e1240449c4a82a8aba765216"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e15" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e16">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </span> </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_77a518308e1240449c4a82a8aba765216" continuedAt="Text_77a518308e1240449c4a82a8aba765217"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e16" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e17">
<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_77a518308e1240449c4a82a8aba765217" continuedAt="Text_77a518308e1240449c4a82a8aba765218"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e17" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e18">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">We estimate expected credit losses of financial assets with
          similar risk characteristics. We determine an asset is impaired when our assessment identifies there is a risk that we will be unable to collect amounts due according to the contractual terms of the agreement. We monitor our ongoing credit
          exposure through reviews of customer balances against contract terms and due dates, current economic conditions and dispute resolution. Estimated credit losses are written off in the period in which the financial asset is no longer collectible.</span><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"> </span></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_77a518308e1240449c4a82a8aba765218" continuedAt="Text_77a518308e1240449c4a82a8aba765219"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e18" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e19">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"> <br/>
        </span></div>
</ix:continuation></ix:continuation>

      <ix:nonNumeric name="us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" id="Text_a14c9af619084351b73446a5d2ba6270" contextRef="c20230101to20231231" escape="true" continuedAt="Text_12f3657547a44dcc8e07715ecf8c25e71"><ix:continuation id="Text_77a518308e1240449c4a82a8aba765219" continuedAt="Text_77a518308e1240449c4a82a8aba7652110"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e19" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e20">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">The
          following table summarizes the activity recorded in the allowance for expected credit losses related to accounts receivable:</span></div>
</ix:continuation></ix:continuation></ix:nonNumeric>
    </div>

    <ix:continuation id="Text_12f3657547a44dcc8e07715ecf8c25e71" continuedAt="Text_12f3657547a44dcc8e07715ecf8c25e72"><ix:continuation id="Text_77a518308e1240449c4a82a8aba7652110" continuedAt="Text_77a518308e1240449c4a82a8aba7652111"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e20" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e21">
<div><br/>
    </div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_12f3657547a44dcc8e07715ecf8c25e72"><ix:continuation id="Text_77a518308e1240449c4a82a8aba7652111"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e21" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e22">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Years Ended </span>December 31<span style="font-size: 10pt; font-family: 'Times New Roman';">,</span></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_d55c2c68d6f54657b0aef46d1a104c4c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">351</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_efa15c4342304497b214c36c980dee86" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">219</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additions charged to costs and expenses</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" id="Fact_6c29bf62fc964dd9a10e0da295f05211" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">606</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" id="Fact_f79e1762d69a4ba8a92f819bbf60fee9" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">140</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deductions</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" id="Fact_722844863b604b25a4dce8d96e7c2f26" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">189</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" id="Fact_4d13d97a96004a7ea770959efc3f6303" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_6569c566ba5440c09416ed1afc370c54" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">768</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_1caebc24609c49d98ad5877a212fcf25" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">351</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>

    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e22" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e23">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e23" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e24"><ix:nonNumeric name="us-gaap:InventoryPolicyTextBlock" id="Text_cbf9ab1a6272485593a81172e5594a9f" contextRef="c20230101to20231231" escape="true" continuedAt="Text_d9f3ac686c8b476c847fb894c385f02b1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Inventories:</span> Inventories are stated at the lower of average cost
      or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on
      these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net realizable value.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e24" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e25"><ix:continuation id="Text_d9f3ac686c8b476c847fb894c385f02b1" continuedAt="Text_d9f3ac686c8b476c847fb894c385f02b2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e25" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e26"><ix:continuation id="Text_d9f3ac686c8b476c847fb894c385f02b2">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Effective April 1, 2022, TransAct changed its method of inventory valuation from standard costing which approximated the &#8220;first-in, first-out&#8221; (&#8220;FIFO&#8221;) costing
      methodology to the average costing methodology.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e26" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e27">
<div><br/>
    </div>
</ix:continuation>
    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-10</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e27" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e28"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Text_aa794ae16528441eb764ae2ec6921921" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Fixed assets:</span> Fixed assets are stated at cost.&#160;
      Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_5e87a9c80d8e4742ab0da1d600374a3c" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric>;
      machinery and equipment is <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_7884f39e49d04f9185b5f68c3798e64f" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" format="ixt-sec:durwordsen">ten years</ix:nonNumeric>; furniture and office equipment is <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_906b67de14044fdf98102757fa619742" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_f9ef286ee010423d88c077eef7fdaba9" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">ten years</ix:nonNumeric>; and computer software and equipment is <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_e6cfc9f9dc8d426280eeddbdd6025f7b" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">three years</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_6729796678364f129535a4bec780a752" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">seven years</ix:nonNumeric>.&#160; Leasehold
      improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
      accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $<ix:nonFraction name="us-gaap:Depreciation" id="Fact_23691166b24b4817a2208e1f76b3bac1" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.3</ix:nonFraction> and $<ix:nonFraction name="us-gaap:Depreciation" id="Fact_3530f546426d4979abf3693e72c0c27b" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.1</ix:nonFraction> million in 2023 and 2022, respectively.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e28" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e29">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e29" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e30"><ix:nonNumeric name="us-gaap:LesseeLeasesPolicyTextBlock" id="Text_3b66bdb6653c45f5890204e3efcb6f7b" contextRef="c20230101to20231231" escape="true" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Leases:</span> We account for leases in accordance with ASC 842, &#8220;Leases&#8221;
      (&#8220;ASC 842&#8221;), which requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines
      whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability
      for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the
      transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as operating.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e30" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e31"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c1" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e31" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e32"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c2" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c3">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for short-term leases. We
      have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e32" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e33"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c3" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c4">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e33" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e34"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c4" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c5">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing leases. We
      determine if an arrangement contains a lease at inception. Our leases are included in &#8220;Right-of-use assets&#8221; and &#8220;Lease liabilities&#8221; in our Consolidated Balance Sheets.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e34" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e35"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c5" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c6">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e35" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e36"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c6" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c7">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease
      payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e36" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e37"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c7" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c8">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e37" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e38"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c8" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c9">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">On April 26, 2022, we entered into an amendment to modify the expiration date of our lease on our Las Vegas, Nevada facility. The lease was set to expire
      on November 1, 2022 and the amendment extended the lease term to November 30, 2025. The lease amendment resulted in an increase to the right-of-use-asset and lease liability of $<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" id="Fact_aef66e1f09434827b6b37061d1fa0464" contextRef="c20220426to20220426_PropertyPlantAndEquipmentByTypeAxis_FacilityInLasVegasNevadaMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal"><ix:nonFraction name="tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset" id="Fact_82702ee813f24e0195132d5b8ffb94f8" contextRef="c20220426to20220426_PropertyPlantAndEquipmentByTypeAxis_FacilityInLasVegasNevadaMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.8</ix:nonFraction></ix:nonFraction> million. The lease amendment modified the base rent. <br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e38" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e39"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c9" continuedAt="Text_66b6ae658f034be0a0baaa9531be0e0c10">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e39" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e40"><ix:continuation id="Text_66b6ae658f034be0a0baaa9531be0e0c10">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the Company determines
      its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our lease right of use
      asset excludes lease incentives. Our leases have remaining lease terms of <ix:nonNumeric name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" id="Fact_0ba065b8637e42679a7b00be2e9cc833" contextRef="c20231231_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">one year</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" id="Fact_9c6c483353da488499a17ae27d23338d" contextRef="c20231231_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">four years</ix:nonNumeric>, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect
      only the options we are reasonably certain that we will exercise.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e40" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e41">
<div><br/></div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e41" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e42"><ix:nonNumeric name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="Text_980b65c72a8b4e72b76eb381dcf66c9b" contextRef="c20230101to20231231" escape="true" continuedAt="Text_3961e000405247d0b20881a21e504bb91">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Goodwill and intangible assets</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> We acquire businesses in purchase transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible
      assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#8220;Goodwill,&#8221; acquired goodwill is not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that
      indicate it is more likely than not an impairment exists.&#160; We perform a fair value-based impairment test to the carrying value of goodwill and indefinite-lived intangible assets on an annual basis and, if certain events or circumstances indicate that
      an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with
      the applicable accounting standards. Under the qualitative assessment, management considers relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events
      directly affecting the Company. If the Company determines that the Step 1 quantitative impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#8217;s cash flow
      projections, and also evaluates the fair value using the market approach. Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e42" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e43"><ix:continuation id="Text_3961e000405247d0b20881a21e504bb91" continuedAt="Text_3961e000405247d0b20881a21e504bb92">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e43" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e44"><ix:continuation id="Text_3961e000405247d0b20881a21e504bb92">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, we have determined that <ix:nonFraction name="us-gaap:GoodwillAndIntangibleAssetImpairment" id="Fact_1881ae299e254262b5fbf04aa0eaf025" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">no</ix:nonFraction>
      goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2023 when our annual review for impairment was performed.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e44" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e45">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e45" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e46"><ix:nonNumeric name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Text_a1a709585b10474292c74696e24e91d9" contextRef="c20230101to20231231" escape="true" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Revenue recognition:</span> We account for revenue in
      accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or service to the customer. Some of our contracts with
      customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended warranties).&#160; A contract&#8217;s transaction price is
      allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e46" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e47"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c1" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e47" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e48"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c2" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c3">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring services to the
      customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in the transaction
      price utilizing either the &#8220;expected value&#8221; method or the &#8220;most likely amount&#8221; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable
      that a significant future reversal of cumulative revenue under the contract will not occur.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e48" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e49"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c3" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c4">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation></ix:continuation>
    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="width: 100%;" class="BRPFPageFooter"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-11</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e49" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e50"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c4" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c5">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes revenue as of a point of
      time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our casino and gaming market,
      EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is licensed to the customer, and
      a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#8217;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and formal acceptance by the
      customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer, as control of the
      product is transferred to the customer and our performance obligation is completed.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e50" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e51"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c5" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c6">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e51" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e52"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c6" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c7">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the asset as it is
      being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support for our food
      service technology terminals and maintenance agreements (including free <ix:nonNumeric name="tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" id="Fact_a644228db1314e3ba3416704b8db08a1" contextRef="c20230101to20231231" format="ixt-sec:durwordsen">one-year</ix:nonNumeric> maintenance received by customers upon completion of
      EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
      the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract
      period.&#160; For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e52" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e53"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c7" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c8">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e53" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e54"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c8" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c9">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#8220;standalone selling price&#8221; method to
      determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
      discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
      approach.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e54" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e55"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c9" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c10">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e55" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e56"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c10" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c11">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected amortization period of
      the cost to obtain a contract is less than 12 months.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e56" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e57"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c11" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c12">
<div><br/></div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e57" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e58"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c12" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c13"><ix:nonNumeric name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Text_6ec54f25df26416e9ccd831af7f9af1f" contextRef="c20230101to20231231" escape="true" continuedAt="Text_75a2d991bcbb4e268f76273324d8c3e61">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>
</ix:nonNumeric></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e58" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e59"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c13" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c14"><ix:continuation id="Text_75a2d991bcbb4e268f76273324d8c3e61" continuedAt="Text_75a2d991bcbb4e268f76273324d8c3e62">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue
      and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e59" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e60"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c14" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c15"><ix:continuation id="Text_75a2d991bcbb4e268f76273324d8c3e62" continuedAt="Text_75a2d991bcbb4e268f76273324d8c3e63">
<div><br/>
    </div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e60" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e61"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c15" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c16"><ix:continuation id="Text_75a2d991bcbb4e268f76273324d8c3e63" continuedAt="Text_75a2d991bcbb4e268f76273324d8c3e64">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31, 2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_3e5e9b345e24452ea1a4c320a72c71ad" contextRef="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,159</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_d9ad8777e0a4408db555c906d33d7612" contextRef="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,149</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_c52d2b9494d0454fb5a446e2a43a5ff5" contextRef="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">16,308</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%;">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_20fa9a09e2224702b1fc7ab1c22f8af5" contextRef="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,805</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_c645435259c34117a94d2c0528abf5f7" contextRef="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">117</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_3fa84511880640868c0ff980b863a26e" contextRef="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,922</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_c8e559381641425c992b5fe0597135a6" contextRef="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28,715</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_fd12dd5551724da3a066a6c85ddd1347" contextRef="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,477</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_daf6b4494cfa446fadff6b3f066e2c73" contextRef="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">41,192</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_2c371c64de0e4d29912e342e7d441625" contextRef="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,381</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8b5dd4f1b0584b02b2395e67e40a45ca" contextRef="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">828</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_1300dc6be0244f9e93a3ff38824468e3" contextRef="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,209</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net sales</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_94aeaa6713cb4ffeab7b277cea4c6570" contextRef="c20230101to20231231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">58,060</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_38d8ba4042994cb39ff6d4548cec3dba" contextRef="c20230101to20231231_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,571</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_f445f962dbd14b269f8b04e9bb586a45" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,631</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e61" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e62"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c16" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c17"><ix:continuation id="Text_75a2d991bcbb4e268f76273324d8c3e64" continuedAt="Text_75a2d991bcbb4e268f76273324d8c3e65">
<div><br/>
    </div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e62" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e63"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c17" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c18"><ix:continuation id="Text_75a2d991bcbb4e268f76273324d8c3e65">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Year Ended </span>December 31, 2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">&#160;</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_6b7dec9f79804f768b009529d7df4256" contextRef="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,602</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_4a6175b5941249bfb9f09ccae7a5b6a1" contextRef="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">762</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8f6e044cd7d24a5e9e9e7aed8c5cd2a5" contextRef="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,364</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%;">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_d617e664f65c473fb358700361c4f41b" contextRef="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,657</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_b918e245ae5a46fe8c48751118ce8ade" contextRef="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8d2e4177ded74b219f9aa15234881e95" contextRef="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,659</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_71ff88533b36480291bfde6fa7eee6d8" contextRef="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,686</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_7e21696099dc44c89ecb88fffb1e1dfc" contextRef="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,343</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_e15147ef3c5c4fecafcce398c923e99f" contextRef="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">30,029</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);">&#160;<br/>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8f52a10179ee4cddb5b02cb2e3a8bfcd" contextRef="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,089</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_1417086c45254b968f63a500fa3fe2b4" contextRef="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">998</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_25df818ea182437bac6f1cc0596fcdf7" contextRef="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,087</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">
            <div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net sales</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_51386d92e9e545a2b97cd1c70d50060c" contextRef="c20220101to20221231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">44,034</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_d1750b832d604a1dbf2e894181f389cd" contextRef="c20220101to20221231_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,105</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_6e0619c6bb4c465c9445e19363e414db" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">58,139</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 12pt;">
      <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e63" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e64"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c18" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c19">
<div><br/>
      </div>
</ix:continuation></ix:continuation>
    </div>

    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e64" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e65"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c19" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c20">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Contract balances</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e65" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e66"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c20" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c21">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior to the customer
      being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included within
      &#8220;Accounts Receivable, net&#8221; and &#8220;Other Assets&#8221; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e66" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e67"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c21" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c22">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e67" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e68"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c22" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c23">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#8220;Accrued Liabilities&#8221; in current
      liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is complete.&#160;
      Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and prepaid
      software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract. During the year ended December 31, 2023, we recognized revenue of $<ix:nonFraction name="tact:ContractWithCustomerRevenueRecognized" id="Fact_0943b0abc7284c6e803ff7da7c061daf" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.4</ix:nonFraction> million related to our contract liabilities as of December 31, 2022.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e68" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e69"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c23" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c24">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="width: 100%;" class="BRPFPageFooter"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-12</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e69" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e70"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c24" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c25"><ix:nonNumeric name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Text_0c495f37a8194cab9d4cd8868ba7bdc6" contextRef="c20230101to20231231" escape="true" continuedAt="Text_17260e040bb54a1b8dd86120018f607f1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net contract (liabilities) assets consist of the following:</div>
</ix:nonNumeric></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e70" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e71"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c25" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c26"><ix:continuation id="Text_17260e040bb54a1b8dd86120018f607f1" continuedAt="Text_17260e040bb54a1b8dd86120018f607f2">
<div><br/>
    </div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e71" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e72"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c26" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c27"><ix:continuation id="Text_17260e040bb54a1b8dd86120018f607f2">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, current</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" id="Fact_56eabb85a8894d5a9404a5e08ab02446" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">145</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" id="Fact_c8b9aecb51ea4a4491f29e44678f748c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">392</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, non-current</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" id="Fact_7f0dffe868cb41b9a5320b13a0c76236" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">120</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" id="Fact_ab0dc21192ea4b67a20d4f4e8d12d5d8" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">163</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Customer pre-payments</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="Fact_ffda6dea4f444590a99cf000b264c183" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">155</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="Fact_9253fb9d2c7f470f8b09a1e3d810c384" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">101</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, current</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_854ec3b908fd43ccb553dcfc524de259" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,079</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_6abe0a096677400f93f8483ae868fe6b" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,329</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, non-current</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_65c2fdeb64c64a3d872c369f106dadd0" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">209</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_6af25f39a9af4bd8bb455a081879055c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">143</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net contract (liabilities) assets</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerAssetLiabilityNet" id="Fact_e7102a795cbe40f59078e41a1febf12d" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,178</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerAssetLiabilityNet" id="Fact_e5d4a492670c47089f6c201b3773ff2e" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,018</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 12pt;">
      <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e72" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e73"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c27" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c28">
<div><br/>
      </div>
</ix:continuation></ix:continuation>
    </div>

    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e73" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e74"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c28" continuedAt="Text_b3088ee03e3141feb9a218ec7c43570c29">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Remaining performance obligations</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e74" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e75"><ix:continuation id="Text_b3088ee03e3141feb9a218ec7c43570c29">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&#160; As
      of December 31, 2023, the aggregate amount of the transaction price allocated to remaining performance obligations was $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_50bb53c228de4605a7cfb3b0d6ddaad8" contextRef="c20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">8.2</ix:nonFraction> million. The Company expects to recognize revenue on $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_ffe8d693acde4b2f813cb63706afb86e" contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240101Member" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">7.9</ix:nonFraction>
      million of its remaining performance obligations within the next <ix:nonNumeric name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Fact_ff20eb041bb843448caef885ae3cbfa8" contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240101Member" format="ixt-sec:durmonth">12</ix:nonNumeric> months following December 31, 2023, $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_6bb5379ff3ce40758fca6d3c5ea63386" contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250101Member" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million within the next <span style="-sec-ix-hidden:Fact_3b3b217b82f14d0981e1911a0e683e9c">24</span> months
      following December 31, 2023 and the&#160;<span style="-sec-ix-hidden:Fact_fa4f9810fdc440e7a6f07a14288bd412">balance</span> of these remaining performance obligations within the next <span style="-sec-ix-hidden:Fact_bc0b117592ec4ae9a3df5220e7dbe1c8">36</span> months following December 31, 2023.</div>
</ix:continuation></ix:continuation><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e75" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e76">
<div>

    <br/></div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e76" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e77"><ix:nonNumeric name="us-gaap:ConcentrationRiskCreditRisk" id="Text_2b299792be934052a24c455928d01035" contextRef="c20230101to20231231" escape="true" continuedAt="Text_b56936d59bc044b398e367d06e198c3e1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Concentration of credit risk:</span>&#160; Financial
      instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e77" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e78"><ix:continuation id="Text_b56936d59bc044b398e367d06e198c3e1" continuedAt="Text_b56936d59bc044b398e367d06e198c3e2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e78" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e79"><ix:continuation id="Text_b56936d59bc044b398e367d06e198c3e2" continuedAt="Text_b56936d59bc044b398e367d06e198c3e3"><ix:nonNumeric name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" id="Text_89671cac314b4e19b53d7b979330c1ee" contextRef="c20230101to20231231" escape="true" continuedAt="Text_7cdb65eb2ec740d49e9b7dcd673b371a1">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Accounts receivable from customers representing 10% or more of total accounts receivable, net were as follows:</div>
</ix:nonNumeric></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e79" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e80"><ix:continuation id="Text_b56936d59bc044b398e367d06e198c3e3" continuedAt="Text_b56936d59bc044b398e367d06e198c3e4"><ix:continuation id="Text_7cdb65eb2ec740d49e9b7dcd673b371a1" continuedAt="Text_7cdb65eb2ec740d49e9b7dcd673b371a2">
<div><br/>
    </div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e80" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e81"><ix:continuation id="Text_b56936d59bc044b398e367d06e198c3e4" continuedAt="Text_b56936d59bc044b398e367d06e198c3e5"><ix:continuation id="Text_7cdb65eb2ec740d49e9b7dcd673b371a2" continuedAt="Text_7cdb65eb2ec740d49e9b7dcd673b371a3">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International Gaming Technology (&#8220;IGT&#8221;)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_65047dd3d3e14f1cb9df632ff2952f61" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">28</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_c31c68f5d89844ec9f1e6fee8adfe262" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">12</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The Bright Group</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_d5222a17be114e76a61d1009da9e9ce0" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TheBrightGroupMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">9</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_681a441f537f4a0d9883071ca23e1fe1" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TheBrightGroupMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">11</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e81" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e82"><ix:continuation id="Text_b56936d59bc044b398e367d06e198c3e5" continuedAt="Text_b56936d59bc044b398e367d06e198c3e6"><ix:continuation id="Text_7cdb65eb2ec740d49e9b7dcd673b371a3" continuedAt="Text_7cdb65eb2ec740d49e9b7dcd673b371a4">
<div><br/>
    </div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e82" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e83"><ix:continuation id="Text_b56936d59bc044b398e367d06e198c3e6" continuedAt="Text_b56936d59bc044b398e367d06e198c3e7"><ix:continuation id="Text_7cdb65eb2ec740d49e9b7dcd673b371a4" continuedAt="Text_7cdb65eb2ec740d49e9b7dcd673b371a5">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Sales to customers representing 10% or more of total net sales were as follows:</div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e83" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e84"><ix:continuation id="Text_b56936d59bc044b398e367d06e198c3e7" continuedAt="Text_b56936d59bc044b398e367d06e198c3e8"><ix:continuation id="Text_7cdb65eb2ec740d49e9b7dcd673b371a5" continuedAt="Text_7cdb65eb2ec740d49e9b7dcd673b371a6">
<div><br/>
    </div>
</ix:continuation></ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e84" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e85"><ix:continuation id="Text_b56936d59bc044b398e367d06e198c3e8"><ix:continuation id="Text_7cdb65eb2ec740d49e9b7dcd673b371a6">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">IGT</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_f6e6074d537d47bc9458edafa4b32c63" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_7961bacf4cc4429aaa5e4bc582f0ff63" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">10</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
    <div style="text-align: left;">
      <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e85" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e86">
<div><br/>
      </div>
</ix:continuation>
    </div>

    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e86" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e87"><ix:nonNumeric name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="Text_e4c89041ce964f63a3ab9bd4f1a00125" contextRef="c20230101to20231231" escape="true" continuedAt="Text_1eb0a886029e46f08ef011378b370a3a1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Engineering, design and product
        development:</span> Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed as a component
      of operating expenses as incurred.&#160; We recorded $<ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_086fa97b8f6449538920823f0635ef17" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">9.4</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_e680e3184aae4849bb03ef15781f0209" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">8.6</ix:nonFraction> million of research and development expenses in 2023 and 2022, respectively.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e87" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e88"><ix:continuation id="Text_1eb0a886029e46f08ef011378b370a3a1" continuedAt="Text_1eb0a886029e46f08ef011378b370a3a2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e88" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e89"><ix:continuation id="Text_1eb0a886029e46f08ef011378b370a3a2">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Costs incurred in the engineering, design and product development of a computer software product are charged to expense until technological feasibility
      has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is required in determining
      when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs has been included in cost
      of sales over the estimated life of the product.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e89" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e90">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e90" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e91"><ix:nonNumeric name="us-gaap:AdvertisingCostsPolicyTextBlock" id="Text_640142caf0ca49c68703632c34f3c261" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Advertising:</span> Advertising costs are expensed as incurred.&#160;
      Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations for 2023
      and 2022 totaled $<ix:nonFraction name="us-gaap:AdvertisingExpense" id="Fact_1d544b8b85a14c02a4a892dfa83305f5" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.7</ix:nonFraction>
      million and $<ix:nonFraction name="us-gaap:AdvertisingExpense" id="Fact_8f339b58455c4889980c322224153b28" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">3.1</ix:nonFraction> million, respectively. These expenses include items such as consulting, professional services, tradeshows, and print
      advertising.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e91" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e92">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e92" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e93"><ix:nonNumeric name="us-gaap:IncomeTaxPolicyTextBlock" id="Text_fec5bc44f8b047c49ba621837b28bd1b" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Income taxes:</span> The income tax amounts reflected in the
      accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#8220;Income Taxes&#8221; (&#8220;ASC 740&#8221;).&#160; Deferred tax assets and liabilities are recognized for the estimated future tax consequences
      attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are measured using
      enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent that we
      believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. </div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e93" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e94">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e94" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e95"><ix:nonNumeric name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Text_58ecfc84d1294622a88d78fe023cff0a" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Foreign currency translation:</span> The financial
      position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars at the year-end exchange rate,
      related sales and expenses have been translated at the weighted average rate for the period, and shareholders&#8217; equity has been translated at historical exchange rates.&#160; The resulting translation gains or losses, net of tax, are recorded in
      shareholders&#8217; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related to intercompany balances, are recognized in
      Other, net on the Consolidated Statements of Operations.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e95" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e96">
<div><br/>
    </div>
</ix:continuation>
    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="width: 100%;" class="BRPFPageFooter"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-13</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e96" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e97"><ix:nonNumeric name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Text_b53c3849ef1047b4a88c7708233d8454" contextRef="c20230101to20231231" escape="true" continuedAt="Text_8d372e9e239f4509a59933c2848e02d61">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Share-based payments:</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">&#160;</span>At December 31, 2023, we have share-based employee compensation plans,
      which are described more fully in Note 9 - Stock incentive plans. We account for those plans under the recognition and measurement principles of ASC 718, &#8220;Compensation &#8211; Stock Compensation.&#8221;&#160; Share-based compensation expense is measured at the grant
      date, based on the estimated fair value of the award, and is recognized as expense over the employee&#8217;s requisite service period.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e97" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e98"><ix:continuation id="Text_8d372e9e239f4509a59933c2848e02d61" continuedAt="Text_8d372e9e239f4509a59933c2848e02d62">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e98" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e99"><ix:continuation id="Text_8d372e9e239f4509a59933c2848e02d62">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this valuation method include
      the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in the determination of
      compensation expense.&#160; Forfeitures are recognized as they occur.</div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e99" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e100">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e100" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e101"><ix:nonNumeric name="us-gaap:EarningsPerSharePolicyTextBlock" id="Text_c2650dafd7124c12aa8a667df749323e" contextRef="c20230101to20231231" escape="true">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Net income (loss) per share</span>:</span> We report net income or loss per share in accordance with ASC 260, &#8220;Earnings per Share (EPS).&#8221; Under this guidance, basic EPS, which excludes dilution, is computed by dividing
      income or loss available to common shareholders by the weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were
      exercised or converted into common stock.&#160; Diluted EPS includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these
      instruments are excluded from the computation of diluted EPS.&#160; See Note 11 - Earnings per share.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e101" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e102">
<div><br/>
    </div>
</ix:continuation>
    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
      <ix:nonNumeric name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Text_218f16b46a544c31876c9ab5e1c1bf8b" contextRef="c20230101to20231231" escape="true" continuedAt="Text_4e708c5c211f4a9e9c062445d24cbcdb1"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e102" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e103">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="font-weight: bold; font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">Recently issued accounting pronouncements</span><span style="font-family: 'Times New Roman'; font-size: 10pt;">:</span></div>
</ix:continuation></ix:nonNumeric>
      <ix:continuation id="Text_4e708c5c211f4a9e9c062445d24cbcdb1" continuedAt="Text_4e708c5c211f4a9e9c062445d24cbcdb2"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e103" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e104">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">In June 2016, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2016-13,&#160;<span style="font-style: italic;">Financial Instruments - Credit Losses
            (Topic 326): Measurement of Credit Losses on Financial Instruments</span>. This ASU and its related amendments (collectively, the &#8220;Credit Loss Standard&#8221;) modifies the impairment model to utilize an expected loss methodology in place of the
          incurred loss methodology for financial instruments, including trade receivables, contract assets and off-balance sheet credit exposures. The Credit Loss Standard requires consideration of a broader range of information to estimate expected
          credit losses, including historical information, current economic conditions and a reasonable forecast period. This Credit Loss Standard requires that the statement of operations reflect estimates of expected credit losses for newly recognized
          financial assets as well as changes in the estimate of expected credit losses that have taken place during the period, which may result in earlier recognition of certain losses. We adopted this standard effective January 1, 2023, and this
          standard did not have a material impact on the Company&#8217;s Consolidated Financial Statements.</span></div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_4e708c5c211f4a9e9c062445d24cbcdb2" continuedAt="Text_4e708c5c211f4a9e9c062445d24cbcdb3"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e104" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e105">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
</ix:continuation></ix:continuation>
      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <ix:continuation id="Text_4e708c5c211f4a9e9c062445d24cbcdb3" continuedAt="Text_4e708c5c211f4a9e9c062445d24cbcdb4"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e105" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e106">
<div><span style="font-family: 'Times New Roman'; font-size: 10pt;">&#160;</span></div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_4e708c5c211f4a9e9c062445d24cbcdb4" continuedAt="Text_4e708c5c211f4a9e9c062445d24cbcdb5"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e106" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e107">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">On November 27, 2023, the FASB issued ASU 2023-07,&#160;<span style="font-style: italic;">Segment Reporting (Topic 280)</span>.&#160;


















          The amendments improve reportable segment disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single
          reportable segment and contain other disclosure requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements
          must be applied retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial
          Statements.</div>
</ix:continuation></ix:continuation>
        <ix:continuation id="Text_4e708c5c211f4a9e9c062445d24cbcdb5" continuedAt="Text_4e708c5c211f4a9e9c062445d24cbcdb6"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e107" continuedAt="Text_478cdb6782664cc78f6a485c33d95f0e108">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <span style="font-family: 'Times New Roman';"><br/>
          </span></div>
</ix:continuation></ix:continuation>
        <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">
          <ix:continuation id="Text_4e708c5c211f4a9e9c062445d24cbcdb6"><ix:continuation id="Text_478cdb6782664cc78f6a485c33d95f0e108">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">On December 14, 2023, the FASB issued ASU 2023-09,</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">&#160;Income Taxes (Topic 740)</span><span style="font-size: 10pt; font-family: 'Times New Roman';">.&#160; This ASU requires the use of consistent categories and greater
              disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure requirements can be applied either prospectively or
              retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.</span></div>
</ix:continuation></ix:continuation>
        </div>

        </div>

    </div>


    <div><br/>
    </div>

    <div style="width: 100%;" class="BRPFPageFooter"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:InventoryDisclosureTextBlock" id="Text_45f20a4b3277462ca95d5c449cb1d13e" contextRef="c20230101to20231231" escape="true" continuedAt="Text_9d086aedc99b420c904a7fb137b889891">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">3. Inventories</div>
</ix:nonNumeric>
    <ix:continuation id="Text_9d086aedc99b420c904a7fb137b889891" continuedAt="Text_9d086aedc99b420c904a7fb137b889892">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_9d086aedc99b420c904a7fb137b889892" continuedAt="Text_9d086aedc99b420c904a7fb137b889893"><ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="Text_acb339a4c4204e22963c053bc787167a" contextRef="c20230101to20231231" escape="true" continuedAt="Text_5532fa1939c94a8c9a2a3c528ba4cf011">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of inventories are:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_9d086aedc99b420c904a7fb137b889893" continuedAt="Text_9d086aedc99b420c904a7fb137b889894"><ix:continuation id="Text_5532fa1939c94a8c9a2a3c528ba4cf011" continuedAt="Text_5532fa1939c94a8c9a2a3c528ba4cf012">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_9d086aedc99b420c904a7fb137b889894"><ix:continuation id="Text_5532fa1939c94a8c9a2a3c528ba4cf012">
<table cellspacing="0" cellpadding="0" border="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%; margin-left: auto; margin-right: auto;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; border-bottom: 2px solid rgb(0, 0, 0);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;"> <br/>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;">
            <div>
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;">Raw materials and purchased component parts</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves" id="Fact_74604c7969954a24b62811555acecd88" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,382</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves" id="Fact_5ec02431b9f14c87aa0b2ef080ec1bdc" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,884</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Finished goods</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" id="Fact_0d0244cb9a71409b857b72745d4a29ef" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,377</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" id="Fact_327f84d015294252ab9bd578ca7b1ce8" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,144</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_55fa0d0c670d40e2a946a9cede46c038" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,759</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_1c786ffb9c8e468aa1fa5b5f31e72547" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,028</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <div style="text-align: left;">
      <div><br/>
      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Text_6697c269e1004f1fa4e0153504dd2c36" contextRef="c20230101to20231231" escape="true" continuedAt="Text_8b2caa6d4b8b4403b642fb5602831a2e1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">4. Fixed assets, net</div>
</ix:nonNumeric>
    <ix:continuation id="Text_8b2caa6d4b8b4403b642fb5602831a2e1" continuedAt="Text_8b2caa6d4b8b4403b642fb5602831a2e2">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_8b2caa6d4b8b4403b642fb5602831a2e2" continuedAt="Text_8b2caa6d4b8b4403b642fb5602831a2e3"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="Text_e566dc614a22472a8bcf8ff67893e125" contextRef="c20230101to20231231" escape="true" continuedAt="Text_3b22abf31abf4d6490fed59f3e0d73c51">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of fixed assets, net are:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_8b2caa6d4b8b4403b642fb5602831a2e3" continuedAt="Text_8b2caa6d4b8b4403b642fb5602831a2e4"><ix:continuation id="Text_3b22abf31abf4d6490fed59f3e0d73c51" continuedAt="Text_3b22abf31abf4d6490fed59f3e0d73c52">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_8b2caa6d4b8b4403b642fb5602831a2e4"><ix:continuation id="Text_3b22abf31abf4d6490fed59f3e0d73c52">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Tooling, machinery and equipment</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_2893feb19acf48bdb7bc8bde56388262" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,562</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_394ceacf1cbb4a1aa073b91447cd689a" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,859</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Furniture and office equipment</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_34f0892e553746bca370a31e297f391d" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,078</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_0a5ab989162b4abfb72039210b8d29e8" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,882</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Computer software and equipment</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_22b2b34287654a55a1b6841102f636af" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,190</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_938e85e689554eb3874bb1adb740dd63" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,348</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Leasehold improvements</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_88d3af14a4114d8d8c5ce5e4c762cc9f" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,895</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_832fa17b13f84bf097bed2d37e0bc825" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,883</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_519e1794638a4f3bbe04dfafadf52275" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">20,725</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_45b75e40d10546249bfee632c26fb1e1" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">19,972</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;">Less: Accumulated depreciation and amortization</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_753bfcace04f4054ab1eb7914f892b26" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">18,646</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_5c00200d21d34e848f4318c1611ac603" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,656</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_fb5278e6748c4b4a9542b0db2f4c30b8" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,079</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_e2347fb127d7409d80add2708d6bb0bf" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,316</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Construction in-process</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_44a9e3705977405384bf0435f6390f10" contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">342</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_04a3ae1cb3c34cb5aedb773bde54c26a" contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">465</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_de4e5aecd2d04f3babdcc91076438597" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,421</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_7c6b9be6ffe94073806ccf30650c13f4" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,781</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <div><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-14</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div class="BRPFPageHeader" style="width: 100%;">
      <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>
<ix:nonNumeric name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="Text_02dae1eef11e490ba4d04083cf52b1cc" contextRef="c20230101to20231231" escape="true" continuedAt="Text_aa0647a3da044eec8a46697d1aede9761">
<div>
    <span style="font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">5. Intangible assets, net </span></div>
</ix:nonNumeric>
    <ix:continuation id="Text_aa0647a3da044eec8a46697d1aede9761" continuedAt="Text_aa0647a3da044eec8a46697d1aede9762">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_aa0647a3da044eec8a46697d1aede9762" continuedAt="Text_aa0647a3da044eec8a46697d1aede9763"><ix:nonNumeric name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Text_2c9b6e33c54f441a8bdc5b9f421a3723" contextRef="c20230101to20231231" escape="true" continuedAt="Text_c840cf37717f4147875804e1efd44c851">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:</span></div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_aa0647a3da044eec8a46697d1aede9763" continuedAt="Text_aa0647a3da044eec8a46697d1aede9764"><ix:continuation id="Text_c840cf37717f4147875804e1efd44c851" continuedAt="Text_c840cf37717f4147875804e1efd44c852">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_aa0647a3da044eec8a46697d1aede9764" continuedAt="Text_aa0647a3da044eec8a46697d1aede9765"><ix:continuation id="Text_c840cf37717f4147875804e1efd44c852">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left;">&#160;</div>
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross Amount</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated Amortization</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross Amount</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated Amortization</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Purchased technology</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_df7457600a594d2f8e10abd1ef0175d0" contextRef="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,591</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_083e7da977ed492581b820ab32e93a98" contextRef="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,503</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_ad31551b8e6449b9918d5c9f1e78bed0" contextRef="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,591</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_1de04e302c1d4e57bd43adc8a46cc758" contextRef="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,349</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Patents</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_6a091555b9524432a634f6d4b119dda5" contextRef="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_639839eaf54141b5b169fe0cde794806" contextRef="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_6d9397d1d086485bab9ae140ee11142f" contextRef="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_73bf5062450b4626bae53ae2b1a37135" contextRef="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_44f4861abb604618ab3920fc5bd24dab" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,606</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_380a19d6898244cba55436dcf14ae1fb" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,518</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_3a327f187a24479ca3bc892496271d34" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,606</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_c0c1b0e0f46e46cca1685b329eff681e" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,364</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_aa0647a3da044eec8a46697d1aede9765" continuedAt="Text_aa0647a3da044eec8a46697d1aede9766">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_aa0647a3da044eec8a46697d1aede9766">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Amortization expense was $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" id="Fact_0cbe85515a3244b88188cdb00e4cd15b" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">154</ix:nonFraction> thousand and
      $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" id="Fact_791d486347364b40bee4918929103476" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">155</ix:nonFraction> thousand in 2023 and
      2022, respectively.&#160; Amortization expense for each of the next five years ending December 31 is expected to be as follows: $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" id="Fact_8d816c8ea302479cbcb33c916ae40630" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">88</ix:nonFraction> thousand in 2024; and <ix:nonFraction name="tact:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" id="Fact_94fc4404ec734ae7ab30ba8ba84959c4" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">none</ix:nonFraction> thereafter.</div>
</ix:continuation>
    <div><br/>
    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="Text_52ea3c87be4845ddb1334c5734862f42" contextRef="c20230101to20231231" escape="true" continuedAt="Text_9d4d7034c5634cdc96b55816d8e307741">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">6. Accrued liabilities</div>
</ix:nonNumeric>
    <ix:continuation id="Text_9d4d7034c5634cdc96b55816d8e307741" continuedAt="Text_9d4d7034c5634cdc96b55816d8e307742">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_9d4d7034c5634cdc96b55816d8e307742" continuedAt="Text_9d4d7034c5634cdc96b55816d8e307743"><ix:nonNumeric name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="Text_c9185714c13c4cb4bddb0fa5041bbf3e" contextRef="c20230101to20231231" escape="true" continuedAt="Text_58ec7834689643fa9c60e776e2fe0d711">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of accrued liabilities are:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_9d4d7034c5634cdc96b55816d8e307743" continuedAt="Text_9d4d7034c5634cdc96b55816d8e307744"><ix:continuation id="Text_58ec7834689643fa9c60e776e2fe0d711" continuedAt="Text_58ec7834689643fa9c60e776e2fe0d712">
<div style="text-align: left;"><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_9d4d7034c5634cdc96b55816d8e307744"><ix:continuation id="Text_58ec7834689643fa9c60e776e2fe0d712">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Salaries and compensation related</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" id="Fact_31d0471aa53a450dba40c449787e7d4c" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,455</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" id="Fact_903ea42e37f44f9c8dd5870f12c24fc4" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,744</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Taxes</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" id="Fact_1eba2be193cc43efad3b87b1e8ae6c59" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">870</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" id="Fact_2c216fc2f5d94d5f8cdc75d16124c4a1" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">530</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Professional and consulting</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedProfessionalFeesCurrent" id="Fact_251fe6253ddf4c40bcfcf1cc6d95bd16" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">161</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedProfessionalFeesCurrent" id="Fact_c1dc0618274c4225b714a19795851ada" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">371</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" id="Fact_51651c1310b543c796622a88d00b687d" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">461</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" id="Fact_e09dc8e7a73645219bc7e4fab1645b7f" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">432</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_c6ab8f96f60f4ffcb2db151f5f842b4e" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,947</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_90818ea7536540b291cfe5ece100efe5" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,077</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <div><br/>
    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:CompensationAndEmployeeBenefitPlansTextBlock" id="Text_4be85790c86e46c8a04f2516e69d3c63" contextRef="c20230101to20231231" escape="true" continuedAt="Text_7aeda0cf64a943b4b93d3341430dde9c1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">7. Retirement savings plan</div>
</ix:nonNumeric>
    <ix:continuation id="Text_7aeda0cf64a943b4b93d3341430dde9c1" continuedAt="Text_7aeda0cf64a943b4b93d3341430dde9c2">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_7aeda0cf64a943b4b93d3341430dde9c2">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We maintain a 401(k) plan under which all full-time employees are eligible to participate at the beginning of the month immediately following their date
      of hire.&#160; We match employees&#8217; contributions at a rate of <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" id="Fact_982568d9ba43453ab9c8904332d1e349" contextRef="c20230101to20231231" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">50</ix:nonFraction>% of employees&#8217; contributions up to the first <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" id="Fact_520ee659f1a24fff9ef924a989ce9477" contextRef="c20230101to20231231" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">6</ix:nonFraction>% of the employees&#8217; compensation contributed to the 401(k) plan.&#160; Our matching contributions, net of applied forfeitures, were $<ix:nonFraction name="us-gaap:DefinedContributionPlanCostRecognized" id="Fact_e4b1bbc75a81414fb202d8a1969f14b7" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">230</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:DefinedContributionPlanCostRecognized" id="Fact_36d8d83fe73c44b8a490801cec5aab30" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">355</ix:nonFraction> thousand in 2023 and 2022, respectively.</div>
</ix:continuation>
    <div><br/>
    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:DebtDisclosureTextBlock" id="Text_a429fc8dfa4349bfb0627a1706bd73fa" contextRef="c20230101to20231231" escape="true" continuedAt="Text_4650262522994dd3858b212eeee2ed6f1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">8. Borrowings</div>
</ix:nonNumeric>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f1" continuedAt="Text_4650262522994dd3858b212eeee2ed6f2">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f2" continuedAt="Text_4650262522994dd3858b212eeee2ed6f3">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold;">Credit Facility</div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f3" continuedAt="Text_4650262522994dd3858b212eeee2ed6f4">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">On March 13, 2020, we entered into the Loan and Security Agreement governing the Siena Credit Facility with Siena Lending Group LLC (the &#8220;Lender&#8221;). The
      Siena Credit Facility provides for a revolving credit line of up to $<ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" id="Fact_8297227aeffc42cfab4be5b507a97fa5" contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">10.0</ix:nonFraction> million and was originally scheduled to expire on March 13, 2023. Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" id="Fact_516f7bfdf6d140f09adc31dff9e9815f" contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember" unitRef="U006" decimals="4" scale="-2" format="ixt:num-dot-decimal">1.75</ix:nonFraction>%, (ii) the federal funds rate plus <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" id="Fact_958b135ef34342ad891032499f7227a0" contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember" unitRef="U006" decimals="4" scale="-2" format="ixt:num-dot-decimal">2.25</ix:nonFraction>%,
      and (iii) <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" id="Fact_17af209ea9fa4f2184b4ca41f2b083f9" contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U006" decimals="4" scale="-2" format="ixt:num-dot-decimal">6.50</ix:nonFraction>%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $<ix:nonFraction name="us-gaap:DeferredFinanceCostsGross" id="Fact_5bba7c741d6d4f52b8e217ec4fa6eefe" contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">245</ix:nonFraction> thousand. We also pay a fee of <ix:nonFraction name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" id="Fact_de4bb80d8dbb4e4d8618c36a6e3e3802" contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U006" decimals="4" scale="-2" format="ixt:num-dot-decimal">0.50</ix:nonFraction>%
      on unused borrowings under the Siena Credit Facility. Borrowings under the Siena Credit Facility are secured by a lien on substantially all the assets of the Company. Borrowings under the Siena Credit Facility are subject to a borrowing base based on
      <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable" id="Fact_4e3a80db1c804c959892c410aa754855" contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">85</ix:nonFraction>% of eligible accounts receivable plus the lesser of (a) $<ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventory" id="Fact_cf190376d0e24618ab617a0de1919367" contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">5.0</ix:nonFraction> million and (b) <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" id="Fact_378d758f4f0d46fb9faf79fd1f82e031" contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">50</ix:nonFraction>% of eligible raw material and <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" id="Fact_54037020a8f34ba4b9ccf6151f08561c" contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">60</ix:nonFraction>% of finished goods inventory.</div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f4" continuedAt="Text_4650262522994dd3858b212eeee2ed6f5">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f5" continuedAt="Text_4650262522994dd3858b212eeee2ed6f6">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur additional indebtedness
      and create other liens. On July 21, 2021, the Company entered into an amendment (&#8220;Siena Credit Facility Amendment No. 1&#8221;) to the Siena Credit Facility. Siena Credit Facility Amendment No. 1 changed the financial covenant under the Siena Credit
      Facility from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $<ix:nonFraction name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" id="Fact_9ce51f4483944accbd80e9cf91bd9a70" contextRef="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">750</ix:nonFraction>
      thousand under the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ended July 31, 2021. From July 31, 2021 through December 31, 2023, we remained in compliance with our excess availability
      covenant.</div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f6" continuedAt="Text_4650262522994dd3858b212eeee2ed6f7">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f7" continuedAt="Text_4650262522994dd3858b212eeee2ed6f8">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">On July 19, 2022, the Company and the Lender entered into Amendment No. 2 (&#8220;Siena Credit Facility Amendment No. 2&#8221;) to the Siena Credit Facility as
      amended by Siena Credit Facility Amendment No. 1. Also on July 19, 2022, the Company and the Lender entered into an Amended and Restated Fee Letter (the &#8220;Amended Fee Letter&#8221;) in connection with Siena Credit Facility Amendment No. 2. Siena Credit
      Facility Amendment No. 2 did not modify the aggregate amount of the revolving commitment or the interest rate applicable to the loans.</div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f8" continuedAt="Text_4650262522994dd3858b212eeee2ed6f9">
<div><br/></div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f9" continuedAt="Text_4650262522994dd3858b212eeee2ed6f10">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The changes to the Siena Credit Facility provided for in Siena Credit Facility Amendment No. 2 include, among other things, the following:</div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f10" continuedAt="Text_4650262522994dd3858b212eeee2ed6f11">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f11" continuedAt="Text_4650262522994dd3858b212eeee2ed6f12">
<div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(i)</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The extension of the maturity date from March 13, 2023 to March 13, 2025; and</div>
            </td>

  </tr>


</table>
    </div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f12" continuedAt="Text_4650262522994dd3858b212eeee2ed6f13">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f13" continuedAt="Text_4650262522994dd3858b212eeee2ed6f14">
<div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(ii)</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The termination of the existing blocked account control agreement and entry into a new &#8220;springing&#8221; deposit account control agreement,
                permitting the Company to direct the use of funds in its deposit account until such time as (a) the sum of excess availability under the Siena Credit Facility and unrestricted cash is less than $<ix:nonFraction name="tact:DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" id="Fact_61d32c60bba3441d97dd7f83191c0b20" contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-6" scale="6" format="ixt:num-dot-decimal">5</ix:nonFraction> million for <ix:nonNumeric name="tact:DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" id="Fact_a5303fa6b9f0490997125249de829a99" contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" format="ixt-sec:durday">3</ix:nonNumeric> consecutive business days or (b) an
                event of default occurs and is continuing.</div>
            </td>

  </tr>


</table>
    </div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f14" continuedAt="Text_4650262522994dd3858b212eeee2ed6f15">
<div style="display:none;"><br/></div>
<div style="text-align: justify; text-indent: -18pt; margin-left: 36pt;"><br/>
    </div>
</ix:continuation>
    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-15</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f15" continuedAt="Text_4650262522994dd3858b212eeee2ed6f16">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">In addition, the Amended Fee Letter requires the Company, while it retains the ability to direct the use of funds in the deposit account, to maintain
      outstanding borrowings of at least $<ix:nonFraction name="tact:DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" id="Fact_5d38e2b0669544648f66909d0deeccb1" contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">2,250,000</ix:nonFraction> in principal amount. If the Company does not have the ability to direct the use of funds in
      the deposit account, then the Amended Fee Letter requires the Company to pay interest on at least $<ix:nonFraction name="tact:DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" id="Fact_1cc6bd0808a242f891ba9e4ed8eeb5a9" contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">2,250,000</ix:nonFraction> principal amount of loans,
      whether or not such amount of loans is actually outstanding.</div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f16" continuedAt="Text_4650262522994dd3858b212eeee2ed6f17">
<div><br/></div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f17" continuedAt="Text_4650262522994dd3858b212eeee2ed6f18">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On May 1, 2023, the Company and the Lender agreed to a letter amendment to the Loan and Security Agreement governing the Siena Credit Facility. Prior to such amendment,
      Section 7.1(m) of the Loan and Security Agreement governing the Siena Credit Facility required that any successor to the Company&#8217;s former Chief Executive Officer be reasonably acceptable to the Lender. This amendment confirmed that Mr. Dillon, the
      Company&#8217;s current Chief Executive Officer, is an acceptable successor, and applied the same requirement to any future successor to Mr. Dillon as Chief Executive Officer.</div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f18" continuedAt="Text_4650262522994dd3858b212eeee2ed6f19">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_4650262522994dd3858b212eeee2ed6f19">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, we had $<ix:nonFraction name="us-gaap:SecuredDebt" id="Fact_2908d5ae54ce44efa4214fc9fd40ad4e" contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">2.3</ix:nonFraction>
      million of outstanding borrowings under the Siena Credit Facility and $<ix:nonFraction name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" id="Fact_59a5c544cad145c9b44f9f3ce116902d" contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">5.9</ix:nonFraction> million of net borrowing capacity available under the Siena
      Credit Facility.</div>
</ix:continuation>
    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Text_da76e37629e04642b6231ec47d5ba588" contextRef="c20230101to20231231" escape="true" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">9. Stock incentive plans</div>
</ix:nonNumeric>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c1" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c2">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c2" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c3">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Stock incentive plans</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">.</span>&#160; We currently have <ix:nonFraction name="tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" id="Fact_8e9c7df6bdf04948a714f8bd0ded311b" contextRef="c20230101to20231231" unitRef="U007" decimals="INF" scale="0" format="ixt-sec:numwordsen">two</ix:nonFraction> stock incentive plans: the 2005 Equity
      Incentive Plan and the 2014 Equity Incentive Plan, which provide for awards to executives, key employees, directors and consultants.&#160; The plans generally provide for awards in the form of: (i) incentive stock options, (ii) non-qualified stock
      options, (iii) restricted stock, (iv) restricted stock units (which may include performance-based vesting), (v) stock appreciation rights or (vi) limited stock appreciation rights.&#160; Awards granted under these plans have exercise prices equal to <ix:nonFraction name="tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" id="Fact_021b5e39389246a3ab0c0d4c849cd2f7" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">100</ix:nonFraction>% of the fair market value of the common stock at the date of grant.&#160; Awards granted have a <ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="Fact_a08a5670b4864681884811d32d4e9291" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember" format="ixt-sec:durwordsen">ten-year</ix:nonNumeric> term and generally vest over a <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_c54b3f1492064b47a668c8328391682e" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">two-year</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_b76b85576482449999730921a7ef7a82" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">four-year</ix:nonNumeric> period, unless automatically accelerated for certain defined events.&#160; As of May 2014, no new awards may be made under the 2005 Equity Incentive
      Plan.&#160; Under our 2014 Equity Incentive Plan, as amended in May 2023, we are authorized to grant awards of up to <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" id="Fact_32efbabdd6b94432aa3bc9e77c42cba1" contextRef="c20231231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">2,900,000</ix:nonFraction> shares of
      TransAct common stock.&#160; At December 31, 2023, <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" id="Fact_70f3d89808a3473da052eef7e447ef29" contextRef="c20231231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">981,769</ix:nonFraction> shares of common stock remained available for issuance under the 2014 Equity Incentive Plan.</div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c3" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c4">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c4" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c5">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Under the assumptions indicated below, the weighted-average per share fair value of stock option grants for 2023 and 2022 was $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_3b3927c259a6407bb5a21d9f2713572b" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">4.16</ix:nonFraction> and $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_ac011cc7ea1f4436acad1b5148cb49d3" contextRef="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">4.39</ix:nonFraction>, respectively.&#160; We also issued restricted stock
      units for certain executives and directors that vest over a specified period of time, and in some instances require achieving certain performance metrics.&#160; The weighted-average per share fair value of these restricted stock units was $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_f148e6aaef5742d5bb7f679a70080322" contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">7.21</ix:nonFraction> and $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_877d77197da1463a958f506f2c32b25f" contextRef="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">8.43</ix:nonFraction> in 2023 and 2022, respectively.</div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c5" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c6">
<div><br/>
    </div>
</ix:continuation>

    <ix:nonNumeric name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="Text_69bdf2cf012d43adbf999330b27be273" contextRef="c20230101to20231231" escape="true" continuedAt="Text_55f0138f5ea24faaaecbcc18779c3cad1"><ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c6" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c7">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The table below indicates the key assumptions (on a weighted-average basis) used in the option valuation calculations for options granted in 2023 and 2022 and a discussion of our
      methodology for developing each of the assumptions used in the valuation model:</div>
</ix:continuation></ix:nonNumeric>
    <ix:continuation id="Text_55f0138f5ea24faaaecbcc18779c3cad1" continuedAt="Text_55f0138f5ea24faaaecbcc18779c3cad2"><ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c7" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c8">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_55f0138f5ea24faaaecbcc18779c3cad2"><ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c8" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c9">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expected option term (in years)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Fact_316255cde04f4d51bddef9f1ccd2bd3f" contextRef="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member" format="ixt-sec:duryear">7.0</ix:nonNumeric></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Fact_5dd69a6b903e47ba862eebb8f36ef2ab" contextRef="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member" format="ixt-sec:duryear">7.1</ix:nonNumeric></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expected volatility</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" id="Fact_37dd9c7b290a413fabf42e787ef1253c" contextRef="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">55.6</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" id="Fact_7da4c83821ad4bb79450d8fd05dc9862" contextRef="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">51.3</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Risk-free interest rate</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" id="Fact_a2a526cbd89a4f5fbffbd039b52a103e" contextRef="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">4.2</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" id="Fact_48abeb42b0b24ec8ba96532d8a8f5110" contextRef="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">2.2</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Dividend yield</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" id="Fact_351ce71614564c16b2049d83ac7510d3" contextRef="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">0.0</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" id="Fact_2fd0a3adddbc4ef2af4020efdebd7cf4" contextRef="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">0.0</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c9" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c10">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c10" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c11">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Expected Option Term</span> - This is the weighted
      average period of time over which the options granted are expected to remain outstanding giving consideration to our historical exercise patterns.&#160; Options granted have a maximum term of <ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="Fact_acbae6d092234c6d99d77ad4a2c729db" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" format="ixt-sec:durwordsen">ten years</ix:nonNumeric> and an increase in the expected term will increase compensation expense.</div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c11" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c12">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c12" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c13">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Expected Volatility</span> &#8211; The stock volatility
      for each grant is measured using the weighted average of historical daily price changes of our common stock over the most recent period approximately equal to the expected option term of the grant.&#160; An increase in the expected volatility factor will
      increase compensation expense.</div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c13" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c14">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c14" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c15">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Risk-Free Interest Rate</span> - This is the U.S.
      Treasury rate in effect at the time of grant having a term approximately equal to the expected term of the option.&#160; An increase in the risk-free interest rate will increase compensation expense.</div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c15" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c16">
<div><br/></div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c16" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c17">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Dividend Yield</span> &#8211;The dividend yield is
      calculated by dividing the annual dividend declared per common share by the weighted average market value of our common stock on the date of grant. An increase in the dividend yield will decrease compensation expense.</div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c17" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c18">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c18" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c19">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We recorded $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_53a3ca01b12a4742873cd7e30e54653f" contextRef="c20230101to20231231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.9</ix:nonFraction> and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_a43cc12d489b4d518e93f7e58133b8d4" contextRef="c20220101to20221231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.2</ix:nonFraction> million of share-based compensation expense for 2023
      and 2022, respectively, included primarily in general and administrative expense in our Consolidated Statements of Operations.&#160; We also
      recorded income tax benefits of $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" id="Fact_2c73d5bf9b17457a84f2edfdb01c08f0" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million in 2023 and $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" id="Fact_ec889c89986c405889b7b4e861955721" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.3</ix:nonFraction> million in&#160;2022, related to such share-based compensation.&#160; At December 31,
      2023, these benefits are recorded as a deferred tax asset in the Consolidated Balance Sheets.</div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c19" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c20">
<div style="text-align: left;"><br/>
    </div>
</ix:continuation>
    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-16</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c20" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c21"><ix:nonNumeric name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="Text_629fd486a6bb45a4a9c5750f6f4cd8a8" contextRef="c20230101to20231231" escape="true" continuedAt="Text_c30135e846c54b0f89cb57fb4414ef951">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan, as amended, is summarized below:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c21" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c22"><ix:continuation id="Text_c30135e846c54b0f89cb57fb4414ef951" continuedAt="Text_c30135e846c54b0f89cb57fb4414ef952">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c22" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c23"><ix:continuation id="Text_c30135e846c54b0f89cb57fb4414ef952" continuedAt="Text_c30135e846c54b0f89cb57fb4414ef953">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock Options</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Restricted Stock Units</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Number of Shares</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> Average Price*</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Number of Units</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price**</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Outstanding at December 31, 2022</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" id="Fact_bd724bf6ca174b7eb557de1261b16561" contextRef="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">1,355,955</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" id="Fact_68918c595b9546dd8b7ee89524ee2c58" contextRef="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">9.08</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" id="Fact_9c80286bd7044b00bba787ac9a8efa3a" contextRef="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">214,286</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_93bd76dcbd614e47a8964e9d97839cf1" contextRef="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">9.28</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Granted</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" id="Fact_00d57a6c3fc843be95295f38c1115c27" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">309,800</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" id="Fact_6a3560b0ebaa4e579a2b9eae7f681730" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">6.91</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" id="Fact_74bb467fb5a24d6ea3d3903ca3450ec9" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">210,100</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" id="Fact_fad0c556cf5042e4b75196fd21a8669a" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">7.21</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Exercised</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_71494ec4ba9e42b08de196aeacba533c" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">1,875</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" id="Fact_aa335ec88d4748928cc6d03b6b2bc4e9" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">4.25</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" id="Fact_ad20d00339e64e01aa313455f36b0617" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">58,705</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" id="Fact_72baa35d008d403ab3802974b4dfb21b" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">9.55</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Forfeited</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" id="Fact_a4b62c33d6594aa0a1989002175b3721" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">271,655</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" id="Fact_43c14488eea84beb979729a6a9d2ae66" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">7.72</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" id="Fact_6c67fb1b9248475184d380a512c61297" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">181,145</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" id="Fact_d6cdddb9785d467d91882a103c9731d1" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">8.34</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expired</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" id="Fact_2e1c1d6eac6b422c97bea3ed707bc6b5" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">77,750</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" id="Fact_70d014c4d26a44bf9e3975e4a7a520e6" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">8.90</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" id="Fact_1939502ae2f6441c95e77c4bfb57a463" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF" scale="0" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" id="Fact_0a674bb3a8d84a07b3b140408e135934" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="0" scale="0" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Outstanding at December 31, 2023</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" id="Fact_67268d6a6d594924b008e4606eca564d" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">1,314,475</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" id="Fact_7da67e0fdc4f4416990d4f3a3b740abf" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">8.82</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" id="Fact_9abcaf541979470e84b4b7e51e553e6a" contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">184,536</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_02b5def163b84a429cc557c62b9e969e" contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">7.76</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c23" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c24"><ix:continuation id="Text_c30135e846c54b0f89cb57fb4414ef953" continuedAt="Text_c30135e846c54b0f89cb57fb4414ef954">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c24" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c25"><ix:continuation id="Text_c30135e846c54b0f89cb57fb4414ef954" continuedAt="Text_c30135e846c54b0f89cb57fb4414ef955">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:footnote id="Foot_02c9893d755d46e09c2c806bd0739d14" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">weighted average exercise price per share</ix:footnote></div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c25" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c26"><ix:continuation id="Text_c30135e846c54b0f89cb57fb4414ef955">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:footnote id="Foot_42b55853fb414ccdba8ab0b20970caa0" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">weighted average grant stock price per share</ix:footnote></div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c26" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c27">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c27" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c28"><ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" id="Text_b4ce87dfa5d941c482369c20af06926f" contextRef="c20230101to20231231" escape="true" continuedAt="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at December 31, 2023:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c28" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c29"><ix:continuation id="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c1" continuedAt="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c29" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c30"><ix:continuation id="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c2" continuedAt="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c3">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity Awards Vested and Expected to Vest</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity Awards That Are Exercisable</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Awards</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price*</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Aggregate Intrinsic Value</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining Term**</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Awards</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price*</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Aggregate Intrinsic Value</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining Term**</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock Options</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" id="Fact_b82743a397ef4917846e6c1f640b3e31" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">1,314,475</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" id="Fact_5fc82a9bb9054b9ba940bab36fd33ae5" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">8.82</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" id="Fact_16666cb994004604ae630aaefc61d1de" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">316</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Fact_f3cf1b4ba784456295d8021a47307be1" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" format="ixt-sec:duryear">4.0</ix:nonNumeric></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" id="Fact_d4c227cbd2c44034b658666b7d9681f7" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">968,972</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" id="Fact_58e707c45fd543948cb01964e8775315" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">9.31</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" id="Fact_c765f65a696548859fc00a76f2734403" contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">167</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Fact_7de00f619f8e474aa10d9a9f4fc97810" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" format="ixt-sec:duryear">2.2</ix:nonNumeric></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 20%;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Restricted stock units</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" id="Fact_59df4295fa0e465c828e2e50600cd61d" contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">184,536</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" id="Fact_cba63fe248ca49f99baba4cc7796d1aa" contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="0" scale="0" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" id="Fact_b020b90fd13d4b319e93a42f52ff12e4" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,288</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" id="Fact_99abf1a8c10d40528a4910072e315749" contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" format="ixt-sec:duryear">2.7</ix:nonNumeric></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c30" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c31"><ix:continuation id="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c3" continuedAt="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c4">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c31" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c32"><ix:continuation id="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c4" continuedAt="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c5">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted average exercise price per share</div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c32" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c33"><ix:continuation id="Text_35ea0c4dd46c4e14a8ffcfa72ff43a5c5">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:footnote id="Foot_ed18f58ee254452faf20859044f9d9f9" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">weighted-average contractual remaining term in years</ix:footnote></div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c33" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c34">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c34" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c35">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Shares that are issued upon exercise of employee stock awards are newly issued shares and not issued from treasury stock.&#160; As of December 31, 2023, unrecognized compensation cost related to non-vested equity awards granted under our stock incentive plans is approximately $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" id="Fact_2f7e0f1af43543b682f2560decb6b4da" contextRef="c20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">4.1</ix:nonFraction> million, which is expected to be recognized over a weighted average period of <ix:nonNumeric name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Fact_8c21b2263d1e4386bbb26c58fd8390a3" contextRef="c20230101to20231231" format="ixt-sec:duryear">3.3</ix:nonNumeric> years.</div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c35" continuedAt="Text_2abfeb76380047e19f94bbcc67a9612c36">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_2abfeb76380047e19f94bbcc67a9612c36">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The total fair value of awards vested was $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" id="Fact_6799bdd6d6b14c72a28ec21f187b7ad6" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.3</ix:nonFraction>
      million and $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" id="Fact_9e369234ecee4311907364d6cf794aae" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.6</ix:nonFraction> million during the years ended December 31, 2023 and 2022, respectively.&#160; The total intrinsic value (which
      is the amount by which the stock price exceeded the exercise price on the date of exercise) of stock options exercised during the years ended December 31, 2023
      and 2022 was $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" id="Fact_a5401416516a4479b19649b9707607a4" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3</ix:nonFraction> thousand
      and $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" id="Fact_0f901423a9fa4796ba9809c8b21f15dd" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">40</ix:nonFraction> thousand, respectively, and cash received from option exercises was <ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" id="Fact_ed75b3da4b2c4ea7883f48dc345bd9c8" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" id="Fact_cb957c645a354025a9350f0c95f45da6" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">zero</ix:nonFraction></ix:nonFraction> in both 2023 and 2022. <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_04a181a7fd744f25b776ae2fd5f7366d" contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">1,875</ix:nonFraction> and <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_d2fa87d63da74733bc824da0a0a84b94" contextRef="c20220101to20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">17,500</ix:nonFraction> stock options were exercised during the year ended December 31, 2023 and 2022, respectively.&#160; We recorded a realized tax provision in 2023 and 2022 from equity-based awards
      of <ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" id="Fact_f4839ff285d6424e9cbc1b2615627d72" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">zero</ix:nonFraction> and $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" id="Fact_37ad3b0ffacc415ebc1759154a010496" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">13</ix:nonFraction> thousand,
      respectively, related to options exercised.</div>
</ix:continuation>
    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" id="Text_762da0a85f5b417aa5d8f3d477394e38" contextRef="c20230101to20231231" escape="true" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c051">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">10. Income taxes</div>
</ix:nonNumeric>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c051" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c052">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c052" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c053"><ix:nonNumeric name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Text_4c3ec231e79241219f4c528df41dbdac" contextRef="c20230101to20231231" escape="true" continuedAt="Text_6086bf36c8014947831bb75cf21240be1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of the income tax expense (benefit) are as follows:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c053" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c054"><ix:continuation id="Text_6086bf36c8014947831bb75cf21240be1" continuedAt="Text_6086bf36c8014947831bb75cf21240be2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c054" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c055"><ix:continuation id="Text_6086bf36c8014947831bb75cf21240be2">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Current:</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" id="Fact_bb1610c3724a4153b9c8175c584af5fc" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" id="Fact_2420613f26d54a1497bd564a39046a55" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">149</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" id="Fact_76e041c54fd349028a68611e89a82b21" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">51</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" id="Fact_d030267bf6fd40f1b607bec6fad3d1e1" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">110</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" id="Fact_e06746d2f5d545f1b9ac2e8f1ed6b3aa" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">85</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" id="Fact_9dc5ceda9b594c6dae184e8db851fbdd" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">83</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" id="Fact_6efe53de23274fc384130289fcc0c435" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">135</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" id="Fact_fde6c18697434495ad853371ed7db549" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">176</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" id="Fact_da316dc24e0b4fe38c099060bf7fa263" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">825</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" id="Fact_f041337a307f4e8f84a6c90ba405b520" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,924</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" id="Fact_a9c2bf2a3d5b424398ae775958417225" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">132</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" id="Fact_3fe67797571b4c488c0fd250ceb7c4ca" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">217</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" id="Fact_e9555193cbac4f62b4b53bdf55c8d45a" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">63</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" id="Fact_75f8ab6565a64b16a8d6d23eaf8b1ea3" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_ec5b62c5ee1147b6873951bc6cab7408" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,020</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_3c2cdbf83b294bef89adc2267cdabb39" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,141</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Income tax expense (benefit)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_71d4f884893041198e360a0625421878" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,155</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_e5881fa84ed8437597357a4046825a66" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,965</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c055" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c056">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"> <br/>
      </span></div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c056" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c057">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);">Our effective tax rates were </span><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_01b66ad1e17b4f43a1b2334001c43748" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">19.6</ix:nonFraction>%<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"> and (</span><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_b87c5e794f2543e284e3dfa5a29c279b" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">24.9</ix:nonFraction>%<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);">) for </span>2023<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"> and </span>2022<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);">, respectively.&#160; The tax benefit recorded for 2022 includes the recognition of stock option
        cancellations for which no benefit was realized</span>.</div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c057" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c058">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c058" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c059">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">At December 31, 2023, we have <ix:nonFraction name="tact:OperatingLossCarryforwardsNotSubjectToExpiration" id="Fact_cde764e1792745b19667ddc17e2dd317" contextRef="c20231231_IncomeTaxAuthorityAxis_DomesticCountryMember" unitRef="U001" decimals="-6" scale="6" format="ixt-sec:numwordsen">no</ix:nonFraction> federal net operating loss carryforwards, $<ix:nonFraction name="tact:OperatingLossCarryforwardsSubjectToExpiration" id="Fact_f881db6fbbf440f28c5925476b03adb1" contextRef="c20231231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.1</ix:nonFraction>
      million of tax-effected state net operating loss carryforwards, $<ix:nonFraction name="tact:TaxCreditCarryforwardAmountSubjectToExpiration" id="Fact_c96831fd0b18448f83ae80c99d196908" contextRef="c20231231_TaxCreditCarryforwardAxis_ResearchMember" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.7</ix:nonFraction> million in R&amp;D credit carryforwards, and <ix:nonFraction name="tact:TaxCreditCarryforwardAmountSubjectToExpiration" id="Fact_4b6977bb26cc43cabc6929d6227d7bf4" contextRef="c20231231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember" unitRef="U001" decimals="-6" scale="6" format="ixt-sec:numwordsen">no</ix:nonFraction> state tax credit carryforwards.&#160; Foreign income before taxes were $<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" id="Fact_5754f8e599924bd6aef6e361c6deb18f" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">322</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" id="Fact_103076e634be48adbcb0554286f5299e" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">24</ix:nonFraction> thousand in 2023 and 2022, respectively.</div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c059" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0510">
<div><br/>
    </div>
</ix:continuation>
    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-17</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0510" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0511"><ix:nonNumeric name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Text_623cf2a1daa64270a86c67eb451df3ce" contextRef="c20230101to20231231" escape="true" continuedAt="Text_8b509a7beba64982a378265d256013221">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated Financial Statements.&#160; Our
      deferred tax assets and liabilities were comprised of the following:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0511" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0512"><ix:continuation id="Text_8b509a7beba64982a378265d256013221" continuedAt="Text_8b509a7beba64982a378265d256013222">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0512" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0513"><ix:continuation id="Text_8b509a7beba64982a378265d256013222">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax assets:</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal net operating losses</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic" id="Fact_b08d3cfb08b2469b8cd8cda3a1c5fea1" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic" id="Fact_276069ffa70a4126a8b8778a1f224891" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,297</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign net operating losses</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" id="Fact_908a196e6779433ebdfd1230dc269569" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">733</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" id="Fact_83e0c82269174b6aa0b8e558e7f73db5" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">676</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State net operating losses</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" id="Fact_dec7110d36bc4243ab1c1c62fe34e04a" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">84</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" id="Fact_439c70d5b2eb4080bcca929f49e6a108" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">149</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accrued severance</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" id="Fact_0fc097b6b5d8406683223e79fddc1719" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">165</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" id="Fact_4235d5a97f004dc697ff2e48de9c0a59" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Capitalized R&amp;D expenses</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" id="Fact_ed79f564998d4e388ed537732351af4d" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,127</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" id="Fact_e5a3c18663fe48ae84176691ffd86936" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,708</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Inventory reserves</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" id="Fact_8f00755040a84140971a0049d0437e64" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">896</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" id="Fact_226b1be7adae4cd38a68f00433442114" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">648</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsDeferredIncome" id="Fact_af5686f295da4e5ba3eac27d62e43129" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">31</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsDeferredIncome" id="Fact_82e22840b4b6461cb2cb463bfedd5032" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">41</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Warranty reserve</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" id="Fact_33882a93dfef4f22b3c35c20f988d444" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">24</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" id="Fact_8bd9336e804546ef97309e3c469a1064" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock compensation expense</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" id="Fact_28f455310dca461b9d920b4bfc0b0430" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">790</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" id="Fact_9ad3eb3c7853496eb3de7b22aa13248d" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">769</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other accrued compensation</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" id="Fact_4cdc876f789b47dc9b213c75002fdd79" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">404</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" id="Fact_59794144eec94dfca29f7bfe0b76dc85" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">222</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">R&amp;D credit carryforward</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" id="Fact_3c2630abc80543ac890ca5398342f31c" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">695</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" id="Fact_5a89dbac919643fe9a772a0adbc70090" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,238</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%;">
            <div style="margin-left: 9pt; text-indent: 0pt;">Other Assets<br/>
            </div>
          </td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOther" id="Fact_fdfff680aedd460790567d71d592a00c" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">360</ix:nonFraction></td>

    <td valign="bottom" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOther" id="Fact_42f52d9925c84d0195e8b7d39495b348" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></td>

    <td valign="bottom" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other liabilities and reserves</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" id="Fact_aedfc5327787471bb03d23855b278dbe" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" id="Fact_bbb82007f00b426d88cab0c07c33f73a" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">463</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross deferred tax assets</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" id="Fact_e8c6e2ce633f4b9189252fc2fc2d2bd9" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,309</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" id="Fact_e90149f9727f49189b786b32add8c192" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,228</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Valuation allowance</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" id="Fact_1dfef2117fdd48359d22e1acbb5eb609" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">719</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" id="Fact_3294f37ef57c4a68bfff5dcca61e6429" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">656</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; text-indent: -18pt; margin-left: 45pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net deferred tax assets</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" id="Fact_5dbae949644b4c17a16e6bfd7ddb3b06" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,590</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" id="Fact_408f793965804b30ae6fb06840faeeaa" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,572</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax liabilities:</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Depreciation and amortization<br/>
              </div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" id="Fact_e144cec0e4a043699ae724d383bd1ee2" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">237</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" id="Fact_5118cb250a28401ebe3344200e577711" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">196</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOther" id="Fact_92bafa4f01084e5293287b7b6e18c143" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">49</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOther" id="Fact_9373715868384134bd615fdfd5bd3af8" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">49</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net deferred tax liabilities</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilities" id="Fact_7d352e4ad9dd4596bfb5fd2476974d20" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">286</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilities" id="Fact_e442a8dcb1c2469baf19126d1777211c" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">245</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net deferred tax assets</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNet" id="Fact_c2b3838f80f14526b2f333547b5d2a7b" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,304</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNet" id="Fact_844a3a10f85d47f3a7670b5d716c326b" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,327</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 12pt;">
      <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0513" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0514">
<div><br/>
      </div>
</ix:continuation>
    </div>

    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0514" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0515"><ix:nonNumeric name="us-gaap:SummaryOfValuationAllowanceTextBlock" id="Text_ee4413c3e26a485394a68ad2b5355c39" contextRef="c20230101to20231231" escape="true" continuedAt="Text_bc8a53b1c34141e8803940623bcee1101">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023 and 2022, we had a $<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_f25aca074e6145319c3f47192babedb1" contextRef="c20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">719</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_3eb60425cb79485ca4878330b202b242" contextRef="c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">656</ix:nonFraction> thousand,
      respectively, of valuation allowances on our net operating loss carryforwards. The following table summarizes the activity recorded in the valuation allowance on the deferred tax assets:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0515" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0516"><ix:continuation id="Text_bc8a53b1c34141e8803940623bcee1101" continuedAt="Text_bc8a53b1c34141e8803940623bcee1102">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0516" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0517"><ix:continuation id="Text_bc8a53b1c34141e8803940623bcee1102">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_68291660b7cd48c984fae85e60896912" contextRef="c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">656</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_ded7bfc2328949609909fbe58235b8b7" contextRef="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">733</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Subtractions released to income tax provisions</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesDeductions" id="Fact_ed16ff6905d84c8288d2d7279b2cc69a" contextRef="c20230101to20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesDeductions" id="Fact_f4fd308ee4824cf7b6b3d534b6d6600a" contextRef="c20220101to20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">77</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additions charged to income tax provision</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" id="Fact_0d30774ebc1142099bccca45629b445a" contextRef="c20230101to20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">63</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" id="Fact_ec90af334f8f4c6ea580ac3211922440" contextRef="c20220101to20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_25c5db48310e49f1bf8d029b39d8c16e" contextRef="c20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">719</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_bd9227ae887d4988aa203e7dae1f40e1" contextRef="c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">656</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">
      <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0517" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0518">
<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"><br/>
        </span> </div>
</ix:continuation><ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0518" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0519"><ix:nonNumeric name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Text_94a3f824a5244ad89375b1904485abe4" contextRef="c20230101to20231231" escape="true" continuedAt="Text_94d4fec322d94b8e8f3a7ab575ea9ddc1">
<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span>
      <span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:</span></div>
</ix:nonNumeric></ix:continuation></div>

    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0519" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0520"><ix:continuation id="Text_94d4fec322d94b8e8f3a7ab575ea9ddc1" continuedAt="Text_94d4fec322d94b8e8f3a7ab575ea9ddc2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0520" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0521"><ix:continuation id="Text_94d4fec322d94b8e8f3a7ab575ea9ddc2">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal statutory rate</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" id="Fact_8bb78ef53810498196b46555cab4a676" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">21.0</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" id="Fact_a4271732e56049ce9aeac8ac7779b23d" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">21.0</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">R&amp;D credit</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" id="Fact_344f5df75823467db3405defcba96ab5" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">5.9</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" id="Fact_47fda63f9b044d2b85b8bd3abd6ed959" contextRef="c20220101to20221231" unitRef="U006" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">4.3</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">Foreign-derived intangible income deduction <br/>
          </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" id="Fact_61b054d9b967443da7108db57c4be82b" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">1.7</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">)</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent" id="Fact_5f26be1076fe4ccd9991d9600304c43d" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:fixed-zero">&#8211;</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock award excess tax benefit</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" id="Fact_ff12f9cda6164ee5ac42be9cea2757b2" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">0.4</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" id="Fact_595b64ddd2b24d768c8dcb6f5958eccb" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State income taxes, net of federal income taxes</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" id="Fact_0558bf0fb0fc48c5892ccff19f100d44" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">2.5</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" id="Fact_7141f0cfaa8444b684e93ac30fb8fc5f" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">1.1</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Business meals and entertainment</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" id="Fact_c8bdc7681b1f46668c11033f9479c5ec" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">0.3</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" id="Fact_730ed07f6e66426897998a11f7f7df81" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Executive compensation limitation</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="tact:EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" id="Fact_76019f670f3a4db8b672b44c0b8b5271" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">0.6</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="tact:EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" id="Fact_76a2e96d947d4780a9e2a4fc25531a00" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Uncertain tax positions</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" id="Fact_de6b10ba817140f1832412e4adb47301" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">0.5</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" id="Fact_2e466d23a97c4bf1890629202e6ab92f" contextRef="c20220101to20221231" unitRef="U006" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">0.5</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock option cancellations</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" id="Fact_1f84171dbe96467b87a788981a88313c" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">0.6</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" id="Fact_1084dbbd8f204147837a3563cbfcbdf1" contextRef="c20220101to20221231" unitRef="U006" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">1.9</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Valuation allowance and tax accruals</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" id="Fact_07d3d7a790ec48c99bfc2742ef064ef0" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">1.0</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" id="Fact_193246a9b88e496ea6460fe4c9908053" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">1.0</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" id="Fact_e170284974804180afdabdaaee8aa0b8" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">0.3</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" id="Fact_26b371f76566465dae1a41dd90321cc4" contextRef="c20220101to20221231" unitRef="U006" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">0.1</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Effective tax rate</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_1584ffbd0d484b16acdaeb115d412ee9" contextRef="c20230101to20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">19.6</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_43231cd535e2468babefa8cefad62047" contextRef="c20220101to20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">24.9</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0521" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0522">
<div><br/>
    </div>
</ix:continuation>
    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageFooter" style="width: 100%;"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-18</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

    </div>

    <!--PROfilePageNumberReset%Num%52%%%-->
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0522" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0523"><ix:nonNumeric name="us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" id="Text_716c1805467e49bea464193a16518b0f" contextRef="c20230101to20231231" escape="true" continuedAt="Text_cfb990595d3c457e93bf6d5c37e128c11">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">We had $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" id="Fact_a812402d28904d8e89cfb9e3c9e2c4cb" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">197</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" id="Fact_bf16dab6550b4b0ba469c4a728979998" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">142</ix:nonFraction> thousand of total gross unrecognized tax benefits at December 31, 2023
      and 2022, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not
      aware of any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning
      and end of the year is as follows:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0523" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0524"><ix:continuation id="Text_cfb990595d3c457e93bf6d5c37e128c11" continuedAt="Text_cfb990595d3c457e93bf6d5c37e128c12">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0524" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0525"><ix:continuation id="Text_cfb990595d3c457e93bf6d5c37e128c12">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_5e747ae73c414cb9a74f9e9f5a6f90c7" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">142</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_ab4c9e29ca814a01bbf3d9ddbb9bbdc4" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">144</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Tax positions taken during the current period</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease" id="Fact_c9ea13ccd2fb47ed9dfd04db754b64a9" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">83</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease" id="Fact_64795f8936c047ea873ef1ccd6f9668c" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">26</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Lapse of statute of limitations</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" id="Fact_a7580d41ba8641d7b2ca20b30bc69044" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" id="Fact_e55a614de7474b5da767a87686a9da2e" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">28</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_0d0dee4dd4f44344b4969cc8939f70d3" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">197</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_d50920bdd16c4d55b6b9ef26946f21e9" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">142</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0525" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0526">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0526" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0527">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We expect $<ix:nonFraction name="us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" id="Fact_eae63a42422c492d8f467cddedb460d0" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">40</ix:nonFraction> thousand of the $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" id="Fact_382ce1c11d6e41b1b174e8dd4f1f1be8" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">197</ix:nonFraction> thousand of unrecognized tax benefits will reverse in 2024
      upon the expiration of the statute of limitations.</div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0527" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0528">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0528" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0529">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We recognize interest and penalties related to uncertain tax positions in the income tax provision.&#160; We have accrued interest and penalties related to
      uncertain tax positions of $<ix:nonFraction name="us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued" id="Fact_b7bf15207fc149dfa18dba97a1504339" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">25</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued" id="Fact_925a85bd77d4452b9ff120450b434335" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">34</ix:nonFraction>
      thousand as of December 31, 2023 and 2022,
      respectively.</div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0529" continuedAt="Text_10ae0c99767841d1b4a8c8b6d8a60c0530">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_10ae0c99767841d1b4a8c8b6d8a60c0530">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We are subject to U.S. federal income tax as well as income tax of certain state and foreign jurisdictions.&#160; We have substantially concluded all U.S.
      federal income tax, state and local, and foreign tax matters through 2019.&#160; However, our federal tax returns for the years 2020 through 2023 remain open to examination. Various state and foreign tax jurisdiction tax years remain open to examination
      as well, though we believe that any additional assessment would be immaterial to the Consolidated Financial Statements.</div>
</ix:continuation>
    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div class="BRPFPageHeader" style="width: 100%;">
      <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

    <ix:nonNumeric name="us-gaap:EarningsPerShareTextBlock" id="Text_e8296c5992864d07bfb0bb75feff0aeb" contextRef="c20230101to20231231" escape="true" continuedAt="Text_5929527383984c72b35927727accd78a1">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">11. Earnings per share</div>
</ix:nonNumeric>
    <ix:continuation id="Text_5929527383984c72b35927727accd78a1" continuedAt="Text_5929527383984c72b35927727accd78a2">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_5929527383984c72b35927727accd78a2" continuedAt="Text_5929527383984c72b35927727accd78a3"><ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Text_9c1248e04f7c415cad93855f7da486ad" contextRef="c20230101to20231231" escape="true" continuedAt="Text_765eae4c883643e388022ec41df6849c1">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Earnings per share was computed as follows (in thousands, except per share amounts):</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_5929527383984c72b35927727accd78a3" continuedAt="Text_5929527383984c72b35927727accd78a4"><ix:continuation id="Text_765eae4c883643e388022ec41df6849c1" continuedAt="Text_765eae4c883643e388022ec41df6849c2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_5929527383984c72b35927727accd78a4" continuedAt="Text_5929527383984c72b35927727accd78a5"><ix:continuation id="Text_765eae4c883643e388022ec41df6849c2">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_63de5e5d268e48628f9e9e185b039b71" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,748</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_7c2105d87cc94d588aa265d408ff25fc" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">5,936</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Shares:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_28cd55936a284be28d9ac77a480509fb" contextRef="c20230101to20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,951</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_bc3f8a9ae28349a2ad9987486c464927" contextRef="c20220101to20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,905</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock method</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_9b43027802314012907b4155acd23225" contextRef="c20230101to20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">70</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_801f4bb862b2425dbf258204339bf084" contextRef="c20220101to20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_cd32c19f5d294d7380081747874ed79d" contextRef="c20230101to20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,021</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_9799f59d44ae474db9fb0d3387b8b7d7" contextRef="c20220101to20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,905</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss) per common share:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_698b6c85bff94602a758e4c19a710cf0" contextRef="c20230101to20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.48</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_7ccd5ebfeb1a46e1bcb00ebe09a20a63" contextRef="c20220101to20221231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.60</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_4a766f6f981b41cebbdee2854ae8f960" contextRef="c20230101to20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.47</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_0e9d4ddc6142410f91d7fb0961808514" contextRef="c20220101to20221231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.60</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_5929527383984c72b35927727accd78a5" continuedAt="Text_5929527383984c72b35927727accd78a6">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_5929527383984c72b35927727accd78a6">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, restricted stock
      units and performance stock awards, when the average market price of the common stock is lower than the exercise price of the related stock award during the period.&#160; These outstanding stock awards are not included in the computation of diluted
      earnings per share because the effect would be anti-dilutive.&#160; Furthermore, in periods when a net loss is reported, such as in 2022, basic and diluted net loss per common share are calculated using the same method.&#160; Anti-dilutive stock awards
      excluded from the computation of earnings per dilutive share were <ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" id="Fact_e0adf58e5d2146a495bd0a9f49bbf7c2" contextRef="c20230101to20231231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.1</ix:nonFraction> million and <ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" id="Fact_ec99bdbfc9f3439cbeb4650bd0ff4aad" contextRef="c20220101to20221231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.5</ix:nonFraction> million at December 31, 2023 and 2022, respectively.</div>
</ix:continuation>
    <div><br/>
    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; background-color: #FFFFFF;">
    <ix:nonNumeric name="us-gaap:TreasuryStockTextBlock" id="Text_afa424e1d2f745359b3dc0cccf9a8c42" contextRef="c20230101to20231231" escape="true" continuedAt="Text_bd5802e8fe9242c98a2ae94e8635fccf1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">12. Stock repurchase program</div>
</ix:nonNumeric>
    <ix:continuation id="Text_bd5802e8fe9242c98a2ae94e8635fccf1" continuedAt="Text_bd5802e8fe9242c98a2ae94e8635fccf2">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_bd5802e8fe9242c98a2ae94e8635fccf2">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We use the cost method to account for treasury stock purchases, under which the price paid for the stock is charged to the treasury stock account.&#160;
      Repurchases of our common stock are accounted for as of the settlement date.&#160; During 2023 and 2022, we did <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" id="Fact_38ddf6ce5bc340d8b8f91716c1ab344f" contextRef="c20220101to20221231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" id="Fact_24f064af4faf4ff88cbe63b3f81d3c38" contextRef="c20230101to20231231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction>t repurchase any shares of our common stock.&#160;
      From January 1, 2005 through December 31, 2019, we repurchased a total of <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" id="Fact_3dc87e061b664caabd4f17020c306c75" contextRef="c20050101to20191231" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">4,044,842</ix:nonFraction> shares of common stock for $<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" id="Fact_d82fb2b9c61e484588577e2aa3ea4634" contextRef="c20050101to20191231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">32.1</ix:nonFraction> million, at an average price of $<ix:nonFraction name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" id="Fact_927097213a2f4ebc9dfaace764d3278e" contextRef="c20050101to20191231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">7.94</ix:nonFraction>
      per share.</div>
</ix:continuation>
    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-19</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

    </div>

    <!--PROfilePageNumberReset%Num%19%F-%%--> </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:SegmentReportingDisclosureTextBlock" id="Text_939bef70c0d64540892a844d8725a94a" contextRef="c20230101to20231231" escape="true" continuedAt="Text_08c03926e2374a04bc247bb5eeb818291">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">13. Geographic area information</div>
</ix:nonNumeric>
    <ix:continuation id="Text_08c03926e2374a04bc247bb5eeb818291" continuedAt="Text_08c03926e2374a04bc247bb5eeb818292">
<div><br/>
    </div>
</ix:continuation>

    <ix:nonNumeric name="us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" id="Text_4a17fe339a4c458782cf20512587781c" contextRef="c20230101to20231231" escape="true" continuedAt="Text_2130cc15d8fd43d7ad636186f84a7d811"><ix:continuation id="Text_08c03926e2374a04bc247bb5eeb818292" continuedAt="Text_08c03926e2374a04bc247bb5eeb818293">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are based on the
      location of the customer and asset.</div>
</ix:continuation></ix:nonNumeric>
    <ix:continuation id="Text_2130cc15d8fd43d7ad636186f84a7d811" continuedAt="Text_2130cc15d8fd43d7ad636186f84a7d812"><ix:continuation id="Text_08c03926e2374a04bc247bb5eeb818293" continuedAt="Text_08c03926e2374a04bc247bb5eeb818294">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_2130cc15d8fd43d7ad636186f84a7d812"><ix:continuation id="Text_08c03926e2374a04bc247bb5eeb818294" continuedAt="Text_08c03926e2374a04bc247bb5eeb818295">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales:</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_5f60ccc38fe74134be83dfb9a67ceabd" contextRef="c20230101to20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">58,060</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_7711e1d2530744faa4e40ebb8c952cde" contextRef="c20220101to20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">44,034</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_e5f382c3df70435e83ae0abceceb5b0f" contextRef="c20230101to20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,571</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_542d49457f57442ab1fcd6d7e39c80e3" contextRef="c20220101to20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,105</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_89b6984b36934bce819aa1027f09f730" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">72,631</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_df33ce2383ca41ab87ed79e7cd6a96bb" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">58,139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Fixed assets, net:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_436ad15134e84349abfe7ba360a12159" contextRef="c20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">945</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_bffdfe5f923342beb6f39611a2afb7e8" contextRef="c20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,252</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_2c046cb284d64c5185145c1851531a2c" contextRef="c20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,476</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_418d5d3938804beba23366fb6fd83a6c" contextRef="c20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">529</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_5703307abe3d499e99dcb4fea829d57f" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,421</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_c6028d80f519401aa2698ceb60bf627d" contextRef="c20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,781</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_08c03926e2374a04bc247bb5eeb818295" continuedAt="Text_08c03926e2374a04bc247bb5eeb818296">
<div> <br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_08c03926e2374a04bc247bb5eeb818296">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Sales to international customers were <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_bc3a58b7d51f48709f36e36915a8ee27" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">20</ix:nonFraction>%
      and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_fd615b87b9d14b5092e11de3a2a8efdb" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">24</ix:nonFraction>% of total sales in 2023
      and 2022, respectively.&#160; Sales to Europe represented <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_56d7cdaf215442a884415134c1e72344" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">64</ix:nonFraction>% and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_1eeb7a05c8a944cb995543fd66901bcb" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">68</ix:nonFraction>%, sales to the Pacific Rim (which includes Australia and Asia) represented <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_a4cf96a4c0fa4972af55d6d7a478ebe2" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">29</ix:nonFraction>% and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_ea958b68f0564c8ba89e2a71622c07c8" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">28</ix:nonFraction>%, and sales to Canada
      represented <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_f3b669174b1045a4aa1d5e7db3efc1da" contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_9bb8db7b5e5c4ee9bd717e47cbc7750e" contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA" unitRef="U006" decimals="2" scale="-2" format="ixt:num-dot-decimal">4</ix:nonFraction></ix:nonFraction>%&#160; of total international sales in both 2023 and 2022, respectively.&#160; International long-lived assets consist of net fixed assets located at
      our foreign subsidiary in the UK, as well as our contract manufacturer in Thailand.</div>
</ix:continuation>
    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div class="BRPFPageHeader" style="width: 100%;">
      <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

    <ix:nonNumeric name="us-gaap:LesseeOperatingLeasesTextBlock" id="Text_5a7dc2c2b1cb4061a483a480c2de1e99" contextRef="c20230101to20231231" escape="true" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f11">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">14. Leases</div>
</ix:nonNumeric>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f11" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f12">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f12" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f13">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">Operating lease expense was $</span><ix:nonFraction name="us-gaap:OperatingLeaseExpense" id="Fact_391a07d322bb40c58334f824a572c6ab" contextRef="c20230101to20231231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.1</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:OperatingLeaseExpense" id="Fact_d53d9fd3a9f14fdba5ca7972e3915e9f" contextRef="c20220101to20221231" unitRef="U001" decimals="-5" scale="6" format="ixt:num-dot-decimal">1.0</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"> million for the years ended December 31, </span>2023<span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"> and </span>2022<span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">,
        respectively, and is reported as </span>&#8220;Cost of sales,&#8221; &#8220;Engineering, design and product development expense,&#8221; &#8220;Selling and marketing expense,&#8221; and &#8220;General and administrative expense&#8221; in the Consolidated Statements of Operations.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">Operating costs include short-term lease costs.</span></div>
</ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f13" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f14">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f14" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f15"><ix:nonNumeric name="tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" id="Text_4eab533f0844421ebd1a6dd3b33f2c58" contextRef="c20230101to20231231" escape="true" continuedAt="Text_b43df72d23c947618dd4fc3ed0de3d091">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f15" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f16"><ix:continuation id="Text_b43df72d23c947618dd4fc3ed0de3d091" continuedAt="Text_b43df72d23c947618dd4fc3ed0de3d092">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f16" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f17"><ix:continuation id="Text_b43df72d23c947618dd4fc3ed0de3d092">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Operating cash outflows from leases</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeasePayments" id="Fact_e8607da10c23426388d3c218d7845b5e" contextRef="c20230101to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,013</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeasePayments" id="Fact_0a188f787d4642f3b4501be8aa6a5f5e" contextRef="c20220101to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">967</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 12pt;">
      <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f17" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f18">
<div><br/>
      </div>
</ix:continuation>
    </div>

    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f18" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f19"><ix:nonNumeric name="tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" id="Text_5468d94eba274b49957e07039b061b03" contextRef="c20230101to20231231" escape="true" continuedAt="Text_4aff9cd47fd44298a4ccac4edf9d079f1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes additional information related to our leases:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f19" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f110"><ix:continuation id="Text_4aff9cd47fd44298a4ccac4edf9d079f1" continuedAt="Text_4aff9cd47fd44298a4ccac4edf9d079f2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f110" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f111"><ix:continuation id="Text_4aff9cd47fd44298a4ccac4edf9d079f2">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_54aeeedb2ccb4639b0c1c75e1301eaba" contextRef="c20231231" format="ixt-sec:duryear">1.7</ix:nonNumeric></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_97dc707b1d10474697439b95bb2ec3df" contextRef="c20221231" format="ixt-sec:duryear">2.7</ix:nonNumeric></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average discount rate</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" id="Fact_8fa2cac5a1c74ecf84fd6a80931c7677" contextRef="c20231231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">4.4</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" id="Fact_4fd34a15bad947d78f43be295d9c25f7" contextRef="c20221231" unitRef="U006" decimals="3" scale="-2" format="ixt:num-dot-decimal">4.5</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 12pt;">
      <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f111" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f112">
<div><br/>
      </div>
</ix:continuation>
    </div>

    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f112" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f113"><ix:nonNumeric name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Text_5506cde2ef1549d78d0c07d838263a31" contextRef="c20230101to20231231" escape="true" continuedAt="Text_badd3812621e4605bb2fdca18d52db171">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities are as follows (in thousands):</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f113" continuedAt="Text_7adfd7e94ba6438db308c70e7f9791f114"><ix:continuation id="Text_badd3812621e4605bb2fdca18d52db171" continuedAt="Text_badd3812621e4605bb2fdca18d52db172">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_7adfd7e94ba6438db308c70e7f9791f114"><ix:continuation id="Text_badd3812621e4605bb2fdca18d52db172">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31, 2023</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" id="Fact_dc4ccb714281401084a770ba49b6fd45" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">985</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 88%;">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2025</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" id="Fact_f3e387a15d764f1cac7690873699a1f3" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">713</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2026</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" id="Fact_ef9b28face5a4e0699119f2688590981" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">22</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 88%;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total undiscounted lease payments</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" id="Fact_80262fe777ea405d83dcb7aafb385467" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,720</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Less imputed interest</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" id="Fact_7c75710e0180418ab0f5c62c619f0c05" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">71</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 4px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total lease liabilities</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" id="Fact_78030fafba1143a3a130ce4c8b666e02" contextRef="c20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,649</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">F-20</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <ix:nonNumeric name="us-gaap:QuarterlyFinancialInformationTextBlock" id="Text_e58080c8e8e74a9f8fdb44ee77736a6a" contextRef="c20230101to20231231" escape="true" continuedAt="Text_3e0b451bae7c407a9f46b83df84b7e741">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">15. Quarterly results of operations (unaudited)</div>
</ix:nonNumeric>
    <ix:continuation id="Text_3e0b451bae7c407a9f46b83df84b7e741" continuedAt="Text_3e0b451bae7c407a9f46b83df84b7e742">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_3e0b451bae7c407a9f46b83df84b7e742" continuedAt="Text_3e0b451bae7c407a9f46b83df84b7e743"><ix:nonNumeric name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" id="Text_955f2bb3e42647958280ecce3bf167e6" contextRef="c20230101to20231231" escape="true" continuedAt="Text_e81e571864b64236bfcbe4b8fac5f7c11">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Our quarterly results of operations for 2023
      and 2022 are as follows:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_3e0b451bae7c407a9f46b83df84b7e743" continuedAt="Text_3e0b451bae7c407a9f46b83df84b7e744"><ix:continuation id="Text_e81e571864b64236bfcbe4b8fac5f7c11" continuedAt="Text_e81e571864b64236bfcbe4b8fac5f7c12">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_3e0b451bae7c407a9f46b83df84b7e744"><ix:continuation id="Text_e81e571864b64236bfcbe4b8fac5f7c12">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="14">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Quarter Ended</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands, except per share amounts)</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">March 31</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">June 30</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">September 30</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023:</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_0dccd5dc475c48e8856060f0a9391806" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">22,270</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_e3b360b32f3f4ff1bab5c667a9d61ed7" contextRef="c20230401to20230630" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">19,906</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_b013f7efdb8043dd8d4e4138501784f0" contextRef="c20230701to20230930" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,190</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_b05e2464cfbc4f22a3d537d72d9433fe" contextRef="c20231001to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,265</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_b80a20b59a6143aca52fde0b659ac92c" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,255</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_5991b08069924663b195d281ce2efbb4" contextRef="c20230401to20230630" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,858</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_7e2d39a4fd294059a3bb06b792596131" contextRef="c20230701to20230930" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,916</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_50536bc5f555477489a4e68b8e1dfd39" contextRef="c20231001to20231231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,371</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_54405cbd304d44c78157267179887a01" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_83ffeb62d65b485ab56cea980497e46b" contextRef="c20230401to20230630" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">765</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_00eaae7a12524022ad47bf3624d86dad" contextRef="c20230701to20230930" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">906</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_6b3bf519c831401695c5fc0ef1d77198" contextRef="c20231001to20231231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">62</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; white-space: nowrap;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss) per common share:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_a55e042639d84994baf3038fc2c8cc35" contextRef="c20230101to20230331" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.32</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_e4dd4379a8c34fa7869210507f5ee7f6" contextRef="c20230401to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.08</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_9b5e1e701a784e529b896ff9d581b579" contextRef="c20230701to20230930" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.09</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_eb8bb6d6968545a89dd4f4eb66252adb" contextRef="c20231001to20231231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_4d79797d2ad34965901784a4e69f9cfa" contextRef="c20230101to20230331" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.31</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_871cf830a2d6425fab4d3dfcc465cfdd" contextRef="c20230401to20230630" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.08</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_b55e65b4cb594160a91f6b05b4952009" contextRef="c20230701to20230930" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.09</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_765b9f2ed5fe4926aa13e910a27a8fbd" contextRef="c20231001to20231231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022:</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_fbe22e77b0554ec890525d5fc549e324" contextRef="c20220101to20220331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,702</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_e2a4a3b53f3d489ba3e672383012055e" contextRef="c20220401to20220630" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,623</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_5f5a330517a3427d93aa161d3fd1dc30" contextRef="c20220701to20220930" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,856</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_fda2fdd38acf41dda340e444435080ea" contextRef="c20221001to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,958</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_a9be487c06dd45e5b0b3f5b0609ebd07" contextRef="c20220101to20220331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,566</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_26ae525ca6814bedb95af957b4a61e28" contextRef="c20220401to20220630" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,434</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_2f2f591b0b3641d88ce52d88f9aecb01" contextRef="c20220701to20220930" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,193</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_281f1a67f98c4b149e7d6d8eca5dfcfd" contextRef="c20221001to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,219</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_9f64911376df4da885b1d251c3988e70" contextRef="c20220101to20220331" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">4,348</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_bcec2fd2b75e4ceb8e95b69dcea10681" contextRef="c20220401to20220630" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,376</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_72b5267ac20f40ee8e633c2a84e74774" contextRef="c20220701to20220930" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">528</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_e9c30c4e67854ea4a458d319ca5e53df" contextRef="c20221001to20221231" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">260</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; white-space: nowrap;">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income per common share:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_50d0d8d0a1044802b43e477ddb4f1613" contextRef="c20220101to20220331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.44</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_9edc5c9e9ae6405e878521b9259508cd" contextRef="c20220401to20220630" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.24</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_467239ec2b5b4f588380dece11c4a8a5" contextRef="c20220701to20220930" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.05</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_1800303ad7d94b15a2d0460d8e460c6a" contextRef="c20221001to20221231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.03</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_1ab7b4688fc7466ea7972d54a9aa12e5" contextRef="c20220101to20220331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.44</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_eec2377373b14dc08be3e23047328c86" contextRef="c20220401to20220630" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.24</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_dfe1a2ee1c204bb7b83fe094daf81e6b" contextRef="c20220701to20220930" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.05</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_d4525e3fa74d439a9e20ef350d85be22" contextRef="c20221001to20221231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.03</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <div><br/>
    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: rgb(0, 0, 0);">
    <div>
      <ix:nonNumeric name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="Text_122bd8032f414168a8461c75a6f4dea2" contextRef="c20230101to20231231" escape="true" continuedAt="Text_eda7eff6a0a646d7810e51f8d3e5a5871">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-weight: bold;">16. Related party transactions</div>
</ix:nonNumeric>
      <ix:continuation id="Text_eda7eff6a0a646d7810e51f8d3e5a5871" continuedAt="Text_eda7eff6a0a646d7810e51f8d3e5a5872">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial;"><br/>
      </div>
</ix:continuation>
      <ix:continuation id="Text_eda7eff6a0a646d7810e51f8d3e5a5872">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">One of the Company&#8217;s directors serves as President and Chief Executive Officer of The One Group Hospitality, Inc.&#160; The
        Company sold various food service technology products to The One Group Hospitality, Inc. on an arms&#8217; length basis totaling $<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_438794cc1e48408985e61f1b0c6b0717" contextRef="c20230101to20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">246</ix:nonFraction> thousand
        and $<ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8a4965810f6a419a849d2434570c7105" contextRef="c20220101to20221231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">37</ix:nonFraction> thousand in 2023 and 2022, respectively.&#160; The Company&#8217;s accounts receivable from The One Group Hospitality, Inc. amounted to $<ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_ca619ae519fe4fe1aad2fbbc2ff9b145" contextRef="c20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">34</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_84b026bf75514b54ae250101d056dff4" contextRef="c20221231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">4</ix:nonFraction> thousand in 2023 and
        2022, respectively.</div>
</ix:continuation>

      <div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <br/>
      </div>

    </div>

  </div>


  <div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
    <div class="BRPFPageHeader" style="width: 100%;">
      <div><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

    <ix:nonNumeric name="us-gaap:SubsequentEventsTextBlock" id="Text_7a0238212f9f45698df40ad2fc23f0c5" contextRef="c20230101to20231231" escape="true" continuedAt="Text_05a75f2792d94a4b97168aedbf209c2b1">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">17. Subsequent events</div>
</ix:nonNumeric>
    <ix:continuation id="Text_05a75f2792d94a4b97168aedbf209c2b1" continuedAt="Text_05a75f2792d94a4b97168aedbf209c2b2">
<div style="text-align: justify;"><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_05a75f2792d94a4b97168aedbf209c2b2">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company has evaluated all events or transactions that occurred up to the date the consolidated financial statements were available to issue.&#160; Based upon this review,
      the Company did not identify any subsequent events that would have required adjustment or disclosure in the consolidated financial statements.</div>
</ix:continuation>
    <div><br/>
    </div>

    <div style="text-align: center;"><span style="font-size: 8pt;">F-21</span><br/>
    </div>

    <div style="text-align: center;">
      <hr style="height: 2px; color: #000000; background-color: #000000; text-align: center; border: none; margin-left: auto; margin-right: auto;"/> </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>

  </div>


</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-4.2
<SEQUENCE>2
<FILENAME>ef20015290_4-2.htm
<DESCRIPTION>DESCRIPTION OF SECURITIES
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;">
  <!--PROfilePageNumberReset%Num%1%%%-->
  <div>
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">
      <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">Exhibit 4.2</div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><u>DESCRIPTION OF SECURITIES</u></div>
    <div><br>
    </div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following description of the capital stock of TransAct Technologies Incorporated (&#8220;we,&#8221; &#8220;our&#8221; or &#8220;us&#8221;) includes a summary of some of
      the detailed provisions of our Certificate of Incorporation, as amended (the &#8220;Certificate of Incorporation&#8221;) and Amended and Restated By-Laws (the &#8220;By-Laws&#8221;). These statements do not purport to be complete or to give full effect to the provisions of
      statutory or common law, and are subject to, and are qualified in their entirety by reference to, the terms of our Certificate of Incorporation and By-Laws. We encourage you to read our Certificate of Incorporation and By-Laws for a more complete
      description.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">General</div>
    <div><br>
    </div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our authorized capital stock consists of 20,000,000 shares of common stock, par value $0.01 per share, and 5,000,000 shares of preferred
      stock, $0.01 per share.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Common Stock</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Voting Rights</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stockholders are entitled to one vote for each share of our common stock held of record on all matters on which stockholders are
      entitled or permitted to vote. Our common stock does not have cumulative voting rights in the election of directors. As a result, holders of a majority of the shares of our common stock voting for the election of directors can elect all the directors
      standing for election.</div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Dividend Rights</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Subject to preferences that may be applicable to any outstanding shares of our preferred stock designated by our Board of Directors (the
      &#8220;Board&#8221;) from time to time, holders of our common stock are entitled to receive dividends out of legally available funds when and if declared from time to time by our Board.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Right to Receive Liquidation Distributions</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the event of our liquidation, dissolution or winding up, the holders of our common stock will be entitled to share ratably in all
      assets remaining after payment of liabilities, subject to preferences applicable to shares of our preferred stock, if any, then outstanding.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">No Preemptive or Similar Rights</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our common stock has no preemptive, subscription or conversion rights, and there are no redemption or sinking fund provisions in our
      Certificate of Incorporation.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Fully Paid</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The outstanding shares of our common stock are fully paid and nonassessable.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Transfer Agent and Registrar</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The transfer agent and registrar for our common stock is American Stock Transfer &amp; Trust Co.</div>
    <div>
      <div style="text-align: justify; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Listing</div>
    </div>
    <div>
      <div style="text-align: justify; text-indent: 36pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our common stock is traded on the Nasdaq Global Market under the trading symbol &#8220;TACT.&#8221;</div>
    </div>
    <div>
      <div style="text-align: left; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Preferred Stock</div>
    </div>
    <div>
      <div style="text-align: justify; text-indent: 36pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our Certificate of Incorporation authorizes our Board to issue, without stockholder approval, additional shares
        of preferred stock out of the authorized shares noted above. Our Board may fix and determine the designation, relative rights, preferences and limitations of such shares of preferred stock.</div>
      <div><br>
      </div>
    </div>
    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageFooter">
        <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><font style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">1</font></div>
      </div>
      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"></div>
      <div class="BRPFPageHeader"></div>
    </div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Phased Declassification of Board of Directors</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our Certificate of Incorporation provides that directors elected to the Board prior to our 2023 annual meeting of stockholders were
      divided into three classes, with each class as nearly equal in numbers as the then total number of directors constituting the entire Board permitted, with the term of office of one class expiring each year and each director generally holding office
      for a term expiring at the annual meeting of stockholders held in the third year following such director&#8217;s election. However, our Certificate of Incorporation provides for the phased-in declassification of the Board over a three-year period beginning
      at our 2023 annual meeting of stockholders and resulting in the annual election of all directors. This phased-in declassification does not affect the unexpired term of any director elected prior to the 2023 annual meeting of stockholders. Directors
      elected at the 2023 annual meeting of stockholders and at each subsequent annual meeting are elected to one-year terms until the first annual meeting of stockholders next following the director&#8217;s election and until the director&#8217;s successor is duly
      elected and qualified, or until such director&#8217;s earlier death, resignation or removal. As a result, our Board would be fully declassified following our 2025 annual meeting of stockholders. Our By-Laws further provide that any director appointed by
      the Board to fill a vacancy or newly created directorship will hold office (a) if appointed prior to the 2025 annual meeting of stockholders, for a term coinciding with the remaining term of the class to which such director was elected, and if
      appointed at or following the 2025 annual meeting of stockholders, for a term expiring at the next annual meeting of stockholders, and in each case will serve until the director&#8217;s successor is duly elected and qualified, subject to such director&#8217;s
      prior death, resignation, retirement, disqualification or removal from office.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Effects of Certain Corporate Governance Provisions of Our Certificate of Incorporation and Our By-Laws</div>
    <div>
      <div style="text-align: justify; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Special Meetings</div>
    </div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our By-Laws provide that special meetings of stockholders may be called at any time by the Chairman of the Board and shall be called
      upon the written request of the Board or of the holders of record shares having a majority of the voting power of our capital stock. Our By-Laws also require stockholders requesting a special meeting of stockholders to deliver, along with the written
      request, background information on themselves and the proposals requested to be acted on at any such special meeting.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Size of Board</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our By-Laws provide that the size of the Board shall be determined by resolution adopted by the Board.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Limits on Stockholder Action by Written Consent</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our Certificate of Incorporation provides that holders of our common stock may take action only by a vote taken at a meeting held
      pursuant to prior notice and may not act by written consent in lieu of a meeting.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Advance Notice Requirements for Stockholder Proposals and Director Nominations</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our By-Laws establish advance notice procedures with respect to stockholder proposals and the nomination of persons for election
        to the Board. In order for any matter to be properly brought before a meeting of our stockholders, a stockholder will have to comply with advance notice requirements and provide us with certain information. Generally, to be timely, a stockholder&#8217;s
        notice must be received by our Secretary not less than 60 days or more than 90 days prior to the one-year anniversary date on which we first mailed our proxy materials for the preceding year&#8217;s annual meeting of stockholders. Our By-Laws also
        specify requirements as to the form and content of a stockholder&#8217;s notice. Our By-Laws allow the Chair of the Board, or any other person designated by the Board or the Chair of the Board, to act as chair of the meeting at a meeting of the
        stockholders and to adopt rules and regulations for the conduct of meetings, which may have the effect of precluding the conduct of certain business at a meeting if the rules and regulations are not followed. These provisions may also deter, delay
        or discourage a potential acquirer from conducting a solicitation of proxies to elect the acquirer&#8217;s own slate of directors or otherwise attempting to influence or obtain control of us.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Exclusive Forum</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our By-Laws provide that unless we consent in writing to the selection of an alternative forum, to the fullest extent permitted by
        law, all claims, including claims in the right of TransAct, brought by a current or former stockholder (including a current or former beneficial owner) (i) that are based upon a violation of a duty by a current or former director or officer or
        stockholder in such capacity or (ii) as to which the General Corporation Law of the State of Delaware confers jurisdiction upon the Court of Chancery of the State of Delaware, shall be brought solely and exclusively in the Court of Chancery of the
        State of Delaware (or, if such court declines to accept jurisdiction, the Superior Court of the State of Delaware, or, if such other court declines to accept jurisdiction, the United States District Court for the District of Delaware). These
        provisions may have the effect of discouraging lawsuits against us or our directors and officers.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Section 203 of the Delaware General Corporation Law</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We are a Delaware corporation that is subject to Section 203 of the Delaware General Corporation Law. Section 203 generally prevents
      Delaware corporations, under certain circumstances, from engaging in a &#8220;Business Combination&#8221; with an &#8220;Interested Stockholder,&#8221; or an affiliate or associate of an Interested Stockholder, for three years following the date that the stockholder became
      an Interested Stockholder.&#160; An Interested Stockholder is a stockholder who owns 15% or more of a corporation&#8217;s outstanding voting stock.</div>
    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageFooter">
        <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><font style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">2</font></div>
      </div>
      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"></div>
      <div class="BRPFPageHeader"></div>
    </div>
    <div><br>
    </div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">A Business Combination includes a merger or sale of more than 10% of a corporation&#8217;s assets. However, the above provisions of Section
      203 do not apply if:</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z222f90b067bb4d7a84ee82028fb89e07" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"><br>
          </td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">the board of directors approves the transaction that made the stockholder an Interested Stockholder prior to the date of the transaction;</div>
          </td>
        </tr>

    </table>
    <div> <br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z660df52ca7c24bc79c6fbc72e4a5b98e" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"><br>
          </td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">after the completion of the transaction that resulted in the stockholder becoming an Interested Stockholder, that stockholder owned at least 85% of the voting stock
              outstanding at the time the transaction commenced, other than statutorily excluded shares of common stock; or</div>
          </td>
        </tr>

    </table>
    <div> <br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zc0c77a200ba649e6999beec5fdd6fa6f" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"><br>
          </td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">on or subsequent to the date of the transaction, the business combination is approved by the board of directors and authorized at a meeting of the stockholders, and not
              by written consent, by an affirmative vote of at least two-thirds of the outstanding voting stock not owned by the Interested Stockholder.</div>
          </td>
        </tr>

    </table>
    <div> <br>
    </div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">A Delaware corporation may &#8220;opt out&#8221; of Section 203 with an express provision in its original certificate of incorporation or an express
      provision in its certificate of incorporation or by-laws resulting from amendments approved by holders of at least a majority of a corporation&#8217;s outstanding voting stock. We have not &#8220;opted out&#8221; of the provisions of Section 203.</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Limitations on Liability and Indemnification of Officers and Directors</div>
    <div><br>
    </div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our Certificate of Incorporation provides that no director will be liable to us or our stockholders for monetary damages for breach of
      fiduciary duty as a director. Under the Delaware General Corporation Law, liability of a director may not be limited:</div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br>
    </div>
    <table cellspacing="0" cellpadding="0" id="za211b8970bf2488b9cfce76bcfa8d901" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"><br>
          </td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">for any breach of the director&#8217;s duty of loyalty to us or our stockholders,</div>
          </td>
        </tr>

    </table>
    <div> <br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z7a51c64006944321a586a762aa0813d5" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"><br>
          </td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">for acts or omissions not in good faith or that involve intentional misconduct or knowing violation of law,</div>
          </td>
        </tr>

    </table>
    <div> <br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z321bda0dc656455f81b0ae883c783605" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"><br>
          </td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">in respect of certain unlawful dividend payments or stock redemptions or repurchases, and</div>
          </td>
        </tr>

    </table>
    <div> <br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z798ab2a92d58427b9ec0b7d61e353303" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"><br>
          </td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">for any transaction from which the director derives an improper personal benefit.</div>
          </td>
        </tr>

    </table>
    <div> <br>
    </div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The effect of this provision of our Certificate of Incorporation is to eliminate our rights and the rights of our stockholders to
      recover monetary damages against a director for breach of the fiduciary duty of care as a director, including breaches resulting from negligent or grossly negligent behavior, except in the situations described above. This provision does not limit or
      eliminate our rights or the rights of any stockholder to seek non-monetary relief such as an injunction or rescission in the event of a breach of a director&#8217;s duty of care.</div>
    <div><br>
    </div>
    <div style="text-align: justify; text-indent: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, our Certificate of Incorporation provides that we will indemnify our directors, officers, employees and agents to the
      fullest extent permitted by law. We may purchase and maintain insurance or furnish similar protection on behalf of any officer or director against any liability asserted against the officer or director and incurred by the officer or director in such
      capacity, or arising out of the status, as an officer or director.</div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div class="BRPFPageFooter">
      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><font style="font-family: 'Times New Roman',Times,serif; font-size: 8pt; font-weight: normal; font-style: normal;">3</font></div>
      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
        <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.16
<SEQUENCE>3
<FILENAME>ef20015290_ex10-16.htm
<DESCRIPTION>LEASE AGREEMENT BETWEEN BOMAX PROPERTIES, LLC AND TRANSACT, DATED JULY 18, 2001
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body style="font: 10pt Times New Roman, Times, Serif">
  <p style="margin: 0"></p>
  <!-- Field: Rule-Page -->
  <div align="LEFT" style="margin-top: 3pt; margin-bottom: 0pt">
    <div style="font-size: 1pt; border-top: Black 4pt solid; width: 100%">&#160;</div>
  </div>
  <!-- Field: /Rule-Page -->
  <p style="margin: 0"></p>
  <p style="margin: 0"></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit 10.16</b></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">LEASE AGREEMENT</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">THIS AGREEMENT, made and entered into as of the <u>18th</u> day of <u>July</u>,
      2001, by and between BOMAX PROPERTIES, LLC, a New York limited liability company with an office at 42 Esty Drive, Ithaca, New York 14850 (hereinafter referred to as &#8220;Bomax&#8221;), and TRANSACT TECHNOLOGIES INCORPORATED, a Delaware corporation with an
      office at 7 Laser Lane, Wallingford, Connecticut 06492 (hereinafter referred to as &#8220;TransAct&#8221;).</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>W I T N E S S E T H :</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">That in consideration of the mutual covenants and agreements hereinafter
      set forth, the parties hereto agree as follows:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE I</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>LEASED PROPERTY</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A. <u>Real Property</u>. Bomax hereby leases and lets, and TransAct
      hereby hires, that certain parcel of land known as 20 Bomax Drive, Village of Lansing, County of Tompkins, State of New York, particularly described in Exhibit A attached hereto and made a part hereof (referred to herein as the &#8220;Premises&#8221;, the
      &#8220;premises&#8221;, the &#8220;demised premises&#8221;, or the &#8220;Leased Property&#8221;). The Premises are shown as PARCEL 2 on a survey map by T. G. Miller Associates, P.C., dated October 11, 1988, last amended on December 11, 1996, being a 7.54 acre parcel on Bomax Drive in
      the Village of Lansing, improved by facilities, and currently occupied by TransAct. TransAct shall pay one-half (50%) of the maintenance costs pursuant to a maintenance agreement between Bomax and Bernard Malloy, a copy of which is attached hereto as
      Exhibit B.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal"></font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Representations and Warranties</u>. Bomax represents
      and warrants the following matters:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The Leased Property is zoned for use as a light manufacturing
      facility and no zoning law or other legal requirement prohibits the use of the Premises for the purposes allowed under this Lease.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;At the time TransAct takes possession of the Premises, the
      Premises will be in compliance with all laws, ordinances and regulations.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3) &#160;&#160;&#160;&#160;&#160;&#160;&#160;On and after the Commencement Date of this Lease, the Leased
      Premises shall be free and clear of all liens and encumbrances which could adversely affect the use and enjoyment of the Leased Property in accordance with the terms of this Lease.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The Leased Property is, and upon the Commencement Date shall
      be, free of any petroleum or petroleum product, hazardous waste, hazardous material, hazardous substances or any other contaminant or pollutant. In the event that during the Lease Term any such substance is discharged onto or released from the Leased
      Property (other than from causes arising out of TransAct&#8217;s use or occupancy of the Leased Property), Bomax shall promptly take all appropriate and necessary remedial action and indemnify and hold TransAct harmless from all costs and expenses thereof.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The Leased Property is served by public water and all
      buildings on the Leased Property are connected to the public water system.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">2</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE II</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>TERM</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The term of this Lease shall extend for a period of ten (10) years
      (&#8220;Lease Term&#8221;), commencing on the date on which Bomax delivers to Transact a certificate of compliance and/or certificate of occupancy (&#8220;Commencement Date&#8221;) for the improvements shown on the following drawings prepared by Tallman &amp; Tallman:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">T-Tl&#160;-&#160; Site Plan - Revised 5-24-01<br>
      T-T2 - Foundation Plan - 5-24-01<br>
      T-T3 - First Floor Plan - 5-24-01<br>
      T-T4 - Elevations - 5-24-01<br>
      T-T5 - Sections - 5-24-01<br>
      T-T6 - Wall Sections - 5-24-01<br>
      T-T7 - Plan at Existing Courtyard - revised 6-12-01<br>
      T-T8 - Sections - Existing Courtyard - 5-24-01</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct has the option to renew this Lease for two (2) additional five
      (5) year terms (each an &#8220;Option Term&#8221;). TransAct shall notify Bomax in writing of its intent to renew at least one hundred eighty (180) days prior to the end of the original Lease Term or of the first five (5) year Option Term.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE III</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>RENT</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Rent</u>. Upon commencement of the term of this Lease,
      TransAct shall pay to Bomax rent for the Leased Property during the term of this Lease on a gross square footage basis as determined by the exterior dimensions of the building.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The total gross square footage is 73,887 square feet comprised of:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The square footage of the building prior to the construction
      of the improvements mentioned in Article II above: 60,079 (footprint of building (63,059) less area of Courtyard (3,260) plus 2 vestibules at 140 sq. ft. each)</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">3</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Courtyard infill: 3,260</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Warehouse addition: 10,548</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">NOTE: &#160;&#160;&#160;&#160;Rent is not due and payable for the area of the removed greenhouse (441 sq. ft.), if
      relocated.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total &#160;&#160;&#160;&#160;&#160;&#160;73,887 sq. ft.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rent shall be paid at the following annual rates:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Years 1-5 $7.00 per gross square foot (i.e., $517,208)</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Years 6-10 $7.50 per gross square foot (i.e., $554,152.50)</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The rent shall be due and payable in equal monthly installments, in
      advance, on the first day of each and every month during the term of this Lease. If this Lease commences on a day other than the first of a month, the rent for the first and last months shall be prorated accordingly.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct shall pay said monthly rental payments without notice or demand
      and without abatement, deduction or set off except as expressly provided herein, in lawful money of the United States at the office of Bomax or at such other place as Bomax may designate in writing.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In the event TransAct fails to pay a monthly rental payment or additional
      rent or any other charge due Bomax by TransAct under this Lease by the fifth day of the month, TransAct shall pay, as additional rent, a five percent (5%) late charge on the amount due.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Triple Net Lease</u>. It is intended that this shall be
      a triple net lease. Under the terms of this Lease, it is contemplated and agreed that TransAct, in addition to paying the rent above, shall pay all real property taxes and assessments, utilities and other costs of operation of the Premises, and
      insurance.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">4</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Renewal Term Rent</u>. In the event TransAct shall
      exercise the option(s) to renew as provided by Article II, the rental during any Option Term shall be calculated based on the increase, if any, in the cost of living as determined by the Consumer Price Index for all Urban Consumers (CPI-U) &#8220;all
      items&#8221; column (published monthly by the United States Department of Labor), hereinafter called the &#8220;Index&#8221;.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The Index number indicated in the column for &#8220;all items&#8221; for
      January, 2006 shall be the &#8220;Base Index&#8221; and the corresponding Index number for January, 2011 shall be the &#8220;Current Index Number&#8221; for the first Option Term. The Index number for January, 2011 shall be the &#8220;Base Index&#8221; and the corresponding Index
      number for January, 2016 shall be the &#8220;Current Index Number&#8221; for the second Option Term.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The rental for the option period(s) shall be calculated using the following formulas:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">First option period:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">

      <tr style="vertical-align: top">
        <td style="width: 20%; padding-left: 0.375in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>January, 2011 CPI-U</u></font></td>
        <td style="width: 7%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">x $7.50 =</font></td>
        <td style="width: 71%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">new rent per square foot for</font></td>
      </tr>
      <tr style="vertical-align: top">
        <td style="padding-left: 0.375in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">January, 2006 CPI-U</font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1st option period</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Second option period:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">

      <tr style="vertical-align: top">
        <td style="width: 20%; padding-left: 0.375in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>January, 2016 CPI-U</u></font></td>
        <td style="width: 14%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">x rent per sq. foot =</font></td>
        <td style="width: 66%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">new rent per sq.</font></td>
      </tr>
      <tr style="vertical-align: top">
        <td style="padding-left: 0.375in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">January, 2011 CPI-U</font></td>
        <td style="padding-left: 0.125in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">during 1st option period</font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">foot for 2nd option period</font></td>
      </tr>

  </table>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">5</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For example, if the January, 2006 CPI-U Index is 201.4*, the January,
      2011 CPI-U Index is 231.6*, and the January, 2016 CPI-U Index is 266.3*, the rent per square foot for the first option period shall be $8.62 and the rent per square foot for the second option period shall be $9.91.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">

      <tr style="vertical-align: bottom">
        <td style="width: 49%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<u>231.6</u> x $7.50 = $8.62/sq. ft.)</font></td>
        <td style="width: 1%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="width: 49%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<u>266.3</u> x $8.62 = $9.91/sq. ft.)</font></td>
      </tr>
      <tr style="vertical-align: bottom">
        <td>&#160;<font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">201.4</font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td>&#160;&#160;<font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">231.6</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*January, 2001 CPI-U Index = 175.1. Assuming 3%/year increase (i.e., 15% in 5 years)&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;&#160;<font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">January, 2006 CPI-U Index would be 201.4, January, 2011 CPI-U Index would be 231.6, and January 2016 CPI-U
      Index would be 266.3.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Bomax shall, within a reasonable time after obtaining the
      appropriate data necessary for computing such increase, give TransAct notice of any increase so determined, and Bomax&#8217;s computation thereof shall be conclusive and binding (but shall not preclude any adjustment which may be required in the event of a
      published amendment of the Index figures upon which the computation was based) unless TransAct shall, within sixty (60) days after the giving of such notice, notify Bomax or any claimed error therein. Any dispute between the parties as to any such
      computation shall be determined by arbitration in accordance with Article IX, Section E.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If at the time of any calculation for an increase the Current
      Index Number is equal to or less than the Base Index number, the annual rent as provided in this Lease shall not be adjusted but shall remain the same for said Option Term.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">6</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE IV</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>REAL PROPERTY TAXES</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Impositions</u>. TransAct shall pay and discharge, as
      soon as the same shall become due and payable, all real property taxes, special or general, ordinary or extraordinary, assessments, water and sewer rents, charges for public utilities, excises, levies, license and permit fees, and other governmental
      charges which shall be imposed upon or become due and payable or become a lien upon the Leased Property or any part thereof, including any building and improvements which may hereafter be placed or erected thereon, or on the sidewalks or streets in
      front of the same by any federal, state, municipal or other governmental or public authority under existing law or practice, or under any future law or practice (all such real property taxes, assessments, rents, rates, excises, levies and charges
      being hereinafter referred to as &#8220;Impositions&#8221;). If, at any time during the term of this Lease, the present method of taxation shall be changed so that the whole or any part of the said Impositions shall be transferred to the rentals received from
      the said real estate, TransAct covenants and agrees to pay such Impositions, whether levied on said real estate in whole or in part, or against said rentals in whole or in part, it being the intent of the parties that TransAct shall pay the
      Impositions assessed, levied or imposed upon the Leased Property, as above expressed, but not inheritance, estate, succession, transfer, gift, franchise, corporation, income or profit taxes or an equivalent, and TransAct agrees to protect and save
      Bomax harmless against any such Impositions. If any assessments may be paid in installments, however, TransAct shall be required to pay only such installments as become due and payable during the term of this Lease and at the time each such
      installment becomes due and payable. Upon Bomax&#8217;s written request, copies of all receipted tax and similar bills paid by TransAct shall be sent promptly to Bomax. Impositions for periods during which this Lease terminates shall be apportioned as of
      termination of the Lease Term.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">7</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Tax Abatement</u>. Bomax and TransAct agree that the
      Leased Property (or certain improvements thereon) may qualify for a Tompkins County Industrial Development Agency (&#8220;TCIDA&#8221;) tax abatement. The parties agree that there are certain fees to be paid in the first year by Bomax to TCIDA for which Bomax is
      entitled to a credit against payments in lieu of taxes. TransAct understands and agrees that this credit belongs to Bomax and TransAct will reimburse Bomax for the amount of the credit upon rendition by Bomax to TransAct of a statement verifying the
      amount of such fees.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Default</u>. Upon default in the payment of any
      impositions by TransAct for thirty (30) days after the said Impositions shall have become due and payable, Bomax may, but shall not be obligated to, pay the same plus any interest and penalties and any amount so paid, with interest at the rate of
      prime plus 2% per annum, as charged from time to time by Tompkins Trust Company or its successor may be added to and be collectible as additional rental hereunder. The bill or receipt issued by the taxing agency shall be deemed conclusive evidence of
      the amount of tax and the amount paid.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Tax Challenge</u>. TransAct shall have the right to
      review or contest, by legal proceedings instituted and conducted at TransAct&#8217;s own expense and free of expense to Bomax, any such Impositions imposed upon or against the Leased Property, and in case any such Impositions shall, as a result of such
      proceeding or otherwise, be reduced, cancelled, set aside or to any extent discharged, TransAct shall be obligated to pay the amount that shall be finally assessed or imposed against the Leased Property, or be adjudicated to be due and payable, on
      any such disputed or contested items.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">8</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In the event TransAct exercises its right to review, by legal proceedings,
      any such Impositions imposed upon or against the Leased Property, TransAct shall, nevertheless, pay and continue to pay such Impositions, and if there be a refund payable with respect thereto, TransAct shall be entitled to receive any such refund to
      the extent that the same has been paid by TransAct. Any refunds received by Bomax, which are payable to TransAct for the reasons stated above, shall be deemed trust funds, and as such, are to be received by Bomax in trust and paid to TransAct
      forthwith. The term &#8220;legal proceedings&#8221; as here used shall be construed to include (but not limited to) appropriate appeals from any judgments, decrees or orders, and certiorari proceedings and appeals from orders therein, including appeals to the
      court of last resort.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">E. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Tax Escrow</u>. In the event that Bomax is required, by
      its lender or any other entity or agency, to pay the aforesaid Impositions in the first instance and/or establish an escrow account for the payment of such taxes, TransAct agrees to reimburse Bomax for any taxes paid, and to fund any escrow account
      to the extent required, on a monthly basis, together with any amounts required by the lender to establish, initially, the escrow account; it is the intention of the parties that TransAct will hold Bomax harmless against the payment of any real estate
      taxes or Impositions, this being a triple net lease, as expressed in ARTICLE III, paragraph B above. Any such reimbursement and payment into the aforesaid escrow account shall be regarded as additional rent due under this Lease. Notwithstanding this
      reference to the escrow account obligation as additional rent or anything else in the Lease to the contrary, the escrow account and any interest therein (to the extent paid and/or reimbursed by TransAct to Bomax) shall at all times remain the
      property of TransAct.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">9</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE V</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>UTILITIES</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon commencement of the Lease Term, and at all times during this Lease,
      TransAct shall pay all charges for utilities, including, but not limited to, gas, electricity, light, heat, water, sewer rental charges, power and telephone or other communication service used, rendered or supplied, upon or in connection with the
      Leased Property, and shall indemnify Bomax against any liability or damages on such account.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE VI</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>USE</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct shall use and occupy the Leased Property for purposes of light
      manufacturing and offices. TransAct shall not use or occupy, or permit the Leased Property to be used or occupied, nor do or permit anything to be done in or on the Leased Property, in a manner which will in any way violate any certificate of
      occupancy affecting the Leased Property, or make void or voidable any insurance then in force with respect thereof, or which will make it impossible to obtain fire or other insurance required to be furnished hereunder, or which will cause such
      insurance to increase, or which will cause or be likely to cause structural damage to the building or any part thereof, or which will increase the hazard of fire, or which shall be in violation of the rules of the Board of Fire Underwriters or the
      provisions of the insurance policies on the premises of which TransAct shall have notice, or which will constitute a public or private nuisance, and shall not use or occupy the Leased Property in any manner which will violate any present or future
      laws or regulations of any governmental authority.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">10</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct agrees that the Leased Property will be used and occupied in a
      careful, safe and proper manner, and that TransAct will not permit waste, damage or injury to occur therein.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE VII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>CONDITION OF PROPERTY</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Neither Bomax nor its agents have made any other representations with
      respect to the Leased Property, except as expressly set forth in the provisions of this Lease.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bomax hereby assigns all of its right, title and interest (including
      specifically all remedies) in all warranties and guarantees with respect to the construction of the buildings on the Premises, including all additions thereto. Bomax shall turn over to TransAct all documents and literature evidencing such warranties
      and shall execute written assignments of all rights thereunder, as and when requested by TransAct.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">11</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE VIII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>ALTERATIONS/MECHANICS LIENS</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A. <u>Alterations</u>. TransAct will not make any alterations of or
      upon any part of the Leased Property except by or with the written consent of Bomax and any mortgagee, if required by the mortgagee. Bomax agrees not to withhold unreasonably its consent to any such alterations proposed by TransAct. Notwithstanding
      the foregoing, TransAct shall be entitled to place on the Leased Property one identifying sign, which sign shall conform to the requirements of the Village of Lansing Sign Ordinance, without Bomax&#8217;s consent. No change or alteration shall at any time
      be made which shall impair the structural soundness or diminish the value of the Leased Property, and all alterations will be completed in a workmanlike manner. All alterations to the Leased Property shall remain for the benefit of Bomax unless
      otherwise provided in said written consent, and TransAct further agrees, in the event of making such alterations as herein provided, to indemnify and save harmless Bomax from any expenses, liens, claims or damages to persons or property on the Leased
      Property arising out of or resulting from the undertaking or making of said alterations. TransAct shall provide as-built plans for all alterations at the termination of this Lease.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No changes or alterations shall be undertaken until TransAct shall have
      procured and paid for any required municipal and other governmental permits and authorizations of the various municipal departments and governmental subdivisions having jurisdiction.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">12</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If any alterations, additions or improvements are made to the demised
      premises with the consent of Bomax, TransAct shall have no obligation to restore the demised premises to its original condition. In the event, however, any alterations, additions or improvements are made to the demised premises without the consent of
      Bomax, TransAct shall, upon the expiration of this Lease, or any renewal thereof, unless otherwise agreed to in writing by Bomax and TransAct, restore the demised premises to its original condition as of the date of the commencement of the Lease
      Term, without consideration given for normal wear and use.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Nothing in this Article shall be deemed or construed as (a) Bomax&#8217;s
      consent to any person, firm or corporation for the performance of any work or services or the supply of any materials to the Premises or any improvement thereof, or (b) giving TransAct or any other person, firm or corporation any right to contract
      for or to perform or supply any work, services or materials that would permit or give rise to a lien against the Premises or any part thereof.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Mechanic&#8217;s Liens</u>. If, because of any act or omission
      by TransAct, any mechanic&#8217;s or other lien for the payment of money shall be filed against the Leased Property, TransAct shall cause the lien to be discharged of record or bonded within ten (10) days after notice to TransAct of the filing of the lien
      and TransAct shall defend, indemnify and hold Bomax harmless against any and all costs, liabilities, suits or claims, including reasonable attorney&#8217;s fees, resulting therefrom. If TransAct fails to comply with the foregoing provision, Bomax shall
      have the option of discharging or bonding any such lien, and TransAct shall reimburse Bomax as additional rent all the costs and expenses, including reasonable attorney fees, in connection with such discharge within ten (10) days after notification
      by Bomax.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">13</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE IX</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>REPAIRS AND MAINTENANCE</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Bomax&#8217;s Repairs</u>. Except where damage is caused by
      TransAct, Bomax, at Bomax&#8217;s expense, shall promptly make all necessary structural repairs to the roof, foundation and exterior walls. Bomax shall assign to TransAct, or make other suitable arrangements for TransAct to obtain the benefit of, all
      builder&#8217;s and equipment warranties, including warranties on pipes, plumbing and septic system. Bomax covenants that it will obtain warranties of substantially the same duration as previously provided to TransAct. No diminution of rent shall be
      claimed or allowed for inconvenience or discomfort arising from the making of structural repairs to the roof, foundation and exterior walls of Leased Property unless TransAct cannot use or access all or a substantial portion of the Leased Premises
      for a period of five days or more.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>TransAct&#8217;s Repairs</u>. TransAct shall, at its own
      expense, promptly make all other necessary structural repairs and replacements to the Leased Property during the term of this Lease. TransAct shall maintain in a good and safe condition the Leased Property, including, but not limited to, the pipes,
      plumbing and septic systems, heating and cooling system, window glass, fixtures, appliances, appurtenances and equipment used in connection with the Leased Property. Such repairs and replacements shall apply to the interior and exterior of said
      Leased Property, and shall be in quality and class at least equal to the original work. TransAct shall also, at its own expense, maintain and keep the parking area and sidewalks and curbs in a clean and orderly condition (including resurfacing of the
      parking area as required), reasonably free of dirt, rubbish, snow, ice and unlawful obstructions. In the event connection to the municipal sewer system is required, the cost of connection to such services shall be borne by TransAct.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">14</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Default</u>. On default of TransAct in making such
      repairs or replacements, 30 days after Bomax gives written notice to TransAct and a right to cure such default, Bomax may, but shall not be required to, make any remaining repairs and replacements for TransAct&#8217;s account, and the expense thereof shall
      constitute and be collectible as additional rent. The receipted bills of the mechanics or contractors employed by Bomax, showing the payment by Bomax for the making of such repairs or alterations, shall be prima facie evidence of the reasonableness
      of such charges therefor, and of their payment by Bomax.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <u>Indemnification</u>. TransAct shall indemnify Bomax
      against all costs, expenses, liabilities, losses, damages, suits, fines, penalties, claims and demands, including reasonable counsel fees, because of TransAct&#8217;s failure to comply with the foregoing, and TransAct shall not call upon Bomax for any
      disbursement or outlay whatsoever in connection therewith, and hereby expressly releases and discharges Bomax of and from any liability therefor.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">15</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font: 10pt Times New Roman, Times, Serif">E. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Arbitration</u>. In case any dispute shall arise at any time between Bomax
      and TransAct as to the standard of care and maintenance of the Leased Property, such dispute shall be determined by arbitration according to the then-current commercial arbitration rules of the American Arbitration Association in Ithaca, New York,
      before a single arbitrator; provided, that if the requirement for making repairs or replacements is imposed by any governmental authority or the holder of any mortgage to which this Lease is subordinate, then such requirement for repairs or
      replacements shall be complied with by TransAct and shall not be considered an arbitratable dispute, unless arbitration is provided for by law or by agreement with the applicable governmental authority or mortgage holder.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE X</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>INSPECTION</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct agrees to permit Bomax, or Bomax&#8217;s representatives, to inspect
      or examine the Leased Property at any reasonable time, to permit Bomax to make structural repairs to the roof, foundation and exterior walls as provided by Article IX, Section A, and to permit Bomax to make such repairs to the building as Bomax may
      determine are reasonably necessary for its safety or preservation and which TransAct has failed to do, and to have access for purpose of showing the premises to prospective tenants during the last six months of the Lease Term only or purchasers.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">16</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XI</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>SURRENDER OF PREMISES</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At the expiration of the Lease Term, or at any other termination of this
      Lease, TransAct shall surrender to Bomax the Leased Property, broom clean, and in as good condition and repair as it was at the commencement of this Lease, ordinary wear and tear or damage by fire or other act of God, the only exceptions. Any
      holdover by TransAct at the end of this Lease shall be considered to be on a month-to-month basis on the same terms and conditions as expressed herein except the monthly rental payment shall be two times the rental provided at that time unless the
      parties mutually agree to a different amount.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>INSURANCE</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>TransAct&#8217;s Insurance</u>. TransAct shall carry at its own
      expense, fire and extended coverage insurance on its own leasehold improvements, on the contents of the premises and on any other personal property owned by TransAct located at the premises.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct, at its sole cost and expense, and for the mutual benefit of
      Bomax and TransAct, shall carry and maintain loss of rent coverage in an amount equal to at least twelve months&#8217; rent.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Insurance</u>. Bomax shall procure, provide and maintain
      insurance for the mutual benefit of Bomax and TransAct against claims for bodily injury or death or injury to or destruction of tangible property, under a policy of general public liability insurance, with $1,000,000.00 combined single limit for
      bodily injury, death and property damage for each annual policy period. The liability policy provided for in this section shall be primary to any similar coverage maintained by Bomax or TransAct.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">17</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bomax shall procure, provide and maintain the necessary insurance and pay
      the premiums for fire, extended coverage and all risk insurance for the benefit of Bomax against loss or damage to the demised premises, and to any improvements in an amount sufficient to prevent Bomax from becoming a co-insurer under the terms of
      the applicable policies but, in any event, in an amount not less than 80% of the full insurable value thereof, as determined from time to time. The term &#8220;full insurable value&#8221; shall mean actual replacement cost (exclusive of cost of excavation,
      foundations and footings below the ground floor) without deduction for physical depreciation. If TransAct does anything that increases Bomax&#8217;s fire insurance premiums, TransAct shall pay the increase in full as additional rent within ten (10) days of
      Bomax&#8217;s notice.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 1in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Reimbursement</u>. TransAct shall reimburse Bomax for
      the cost of such insurance obtained by Bomax pursuant to Article XII, Section B above. TransAct shall make payment of the premium cost within ten (10) days of the rendering of the bill by Bomax. The cost of such insurance premium shall be considered
      and treated as additional rent hereunder. If TransAct feels that the premium cost of the insurance procured by Bomax is excessive, TransAct will be entitled to obtain competitive quotes for comparable coverage, and if such quotes are less than the
      actual cost, Bomax will switch insurance coverage for the next policy year.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">18</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<u>Waiver of Liability</u>. Bomax and all parties claiming
      under Bomax hereby release TransAct from any and all claims and liabilities arising from or caused by any hazards covered by the fire insurance policy obtained by Bomax on the Premises, regardless of the cause of such casualty. TransAct and all
      parties claiming under TransAct hereby release Bomax from any and all claims and liabilities arising from or caused by any hazards covered by the fire insurance policy obtained by TransAct on the Premises, regardless of the cause of such casualty.
      Bomax shall not be liable for any damage to TransAct&#8217;s fixture, merchandise or personal property caused by fire regardless of the cause thereof, and TransAct hereby releases Bomax of and from all liabilities for such damage. TransAct shall not be
      liable for any damages to Bomax&#8217;s building, fixtures or property caused by fire regardless of the cause thereof and Bomax hereby releases TransAct from all liabilities for such damage.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XIII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>FIRE OR CASUALTY LOSS</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In the event of damage to the Leased Property by fire or other casualty,
      Bomax, at its sole expense, shall promptly restore, upon receipt of insurance proceeds, the Leased Property as nearly as possible to its condition prior to such damage or destruction. All insurance proceeds received by Bomax pursuant to the
      provisions of this Lease, less the cost, if any, of obtaining such recovery, shall be held by Bomax and applied by Bomax to the payment of such restoration, as such restoration progresses. In the event of any such partial destruction or damage,
      provided that there shall be in force the loss-of-rent coverage required by Article XII, Section A (TransAct&#8217;s Insurance), there shall be a proportionate abatement of rent until such time as the Leased Property is repaired and delivered to TransAct
      based upon the extent to which the Leased Property is rendered untenantable.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">19</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If, at any time during the term of this Lease, the Leased Property is
      completely destroyed or so damaged by fire or other casualty covered by insurance as to render it unfit for its designated use, and repair or restoration cannot be completed within nine months, upon written notice from Bomax to TransAct within ten
      (10) days of the casualty that Bomax cannot complete repair or restoration within nine months, either party may terminate this Lease on written notice to the other party of at least ten days and no more than forty-five days. Such notice shall be
      given within sixty days after the date of such damage or destruction or after the date of the written notice from Bomax to Transact that Bomax cannot complete repair or restoration within nine months, whichever is later. If the Lease shall so
      terminate, all basic and additional rent shall be apportioned to the date of the casualty, and all insurance proceeds shall belong to Bomax.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If the Lease is not so terminated, Bomax shall promptly rebuild and
      restore the Leased Property as nearly as possible to its condition prior to such damage. TransAct&#8217;s obligation to pay rent and all other charges, and to perform all other terms of this Lease shall abate during the period the Leased Property cannot be
      accessed or used in substantially the same manner as they had been used prior to the appropriation. Any loss of rent insurance proceeds receivable on account of such destruction or damage shall belong to Bomax.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">20</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XIV</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>LIABILITY</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bomax shall not be liable to TransAct or those claiming under TransAct
      for any damage done to or loss of personal property located in the Premises, or damage or loss suffered by the business or occupation of TransAct arising from the bursting of water pipes, sprinkler system, overflowing or leaking of water, sewer or
      other pipes, or from the heating or plumbing fixtures or from the electric wiring, or from gas odors or from any other cause whatsoever, unless resulting from the negligence or intentional acts of Bomax.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XV</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>COVENANT OF QUIET ENJOYMENT</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct, upon the payment of the rent and other charges herein provided
      for, and performing all other terms of this Lease, shall at all times during the Lease Term, peaceably and quietly enjoy the Premises without any disturbance from Bomax or from any other person claiming through Bomax.</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">21</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="FONT: 10pt Times New Roman, Times, Serif; MARGIN: 0pt 0px">&#160;</p>
  <p style="margin-top: 0; font: 10pt Times New Roman, Times, Serif; margin-bottom: 0"></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XVI</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>SUBORDINATION</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This Lease is and shall be subject and subordinate
      to any mortgage or mortgages now in force or which shall at any time be placed upon the Premises or any part thereof or the building of which the Premises is a part, provided the mortgage contains a standard non-disturbance clause allowing this Lease
      and Transact&#8217;s rights hereunder to remain in effect without modification so long as TransAct is not in default hereunder and, in the event of a fire or other casualty, gives Bomax access to insurance proceeds to enable Bomax to fulfill its
      obligations under Article XIII. TransAct agrees that it will, upon demand, execute and deliver such instruments as necessary to subordinate this Lease to the lien of any such mortgage or mortgages as shall be desired by any mortgagee, or proposed
      mortgagee, and in the event of the failure of TransAct to execute such instrument, TransAct hereby nominates and appoints Bomax its attorney-in-fact for such purpose.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XVII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>ASSIGNMENT</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct shall have the right to assign this
      Lease, or to sublease the Leased Property for any purpose lawful under the Village of Lansing Zoning Law without the consent of Bomax. TransAct shall remain liable for the payment of all rent and other charges to be paid hereunder and for the
      performance of all the terms, covenants and conditions herein undertaken by TransAct for the remainder of the original term and any renewal term or terms. If Bomax in its sole discretion consents to an assignment by TransAct, Bomax shall release and
      discharge TransAct from any further obligation under this Lease or any renewal term or terms.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">22</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bomax shall have the right to assign the within
      Lease to a corporation or to a partnership or proprietorship now in existence or hereinafter formed, with no further obligation on the part of Bomax, provided such assignment will not have an adverse affect on any tax abatement applicable to the
      Leased Premises. Upon such assignment, Bomax shall have no further liability hereunder.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font: 10pt Times New Roman, Times, Serif">TransAct shall not mortgage or pledge its leasehold interest in the
      Premises or its rights under this Lease, except upon the written consent of Bomax, which consent shall not be unreasonably withheld.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XVIII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>APPROPRIATION</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If the whole of the Leased Property, or such
      portion of the building thereon as will make the Leased Property unsuitable for use as a manufacturing facility and offices, is taken by condemnation or the right of eminent domain, or by agreement between Bomax and those authorized to exercise such
      right, then, in any of such events, this Lease shall cease and be terminated from the time when possession is taken by such public authority, and rental and other payments shall be accounted for between Bomax and TransAct as of the date of surrender
      of possession. Such termination shall be without prejudice to the rights of either Bomax or TransAct to recover compensation from the condemning authority for any loss or damage caused by such condemnation. Any portion of an award attributable to the
      Leased Property shall be the sole property of Bomax, provided TransAct is entitled to claim, prove and receive the value of its leasehold improvements, fixtures and moving costs. Neither Bomax nor TransAct shall have any rights in or to any award
      made to the other by the condemning authority.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">23</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If the Leased Property can be accessed and used in
      substantially the same manner as they had been used prior to the appropriation, this Lease shall continue in effect, but there shall be a proportionate abatement of rent based upon the extent of the appropriation.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XIX</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>TRANSACT DEFAULTS</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">An event of default is the happening of any of the
      following:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;A rental payment or additional rental
      payment or any part thereof, shall at any time be in arrears and unpaid for a period of five (5) days after written notice thereof to TransAct;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TransAct shall fail to keep and
      perform any of the covenants, agreements or conditions of this Lease on TransAct&#8217;s part to be kept or performed after thirty (30) days&#8217; notice in writing thereof has been delivered to TransAct, and such default shall not have been cured within said
      thirty (30) days;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TransAct shall make an assignment for
      the benefit of creditors;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The interest of TransAct in the
      Premises shall be sold under execution or other legal process;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">24</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">E.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TransAct shall file a voluntary
      petition in bankruptcy or be adjudged a bankrupt;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">F.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;A receiver shall be appointed for
      TransAct by any court.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If such default or condition is not corrected or
      remedied or TransAct has not substantially undertaken a cure within the applicable time period, if any, this Lease and the rights of TransAct thereunder shall, at Bomax&#8217;s option, cease and terminate. Bomax shall provide written notice of such
      termination to TransAct.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bomax shall have the right to enter and repossess
      said Leased Property by force, summary or dispossess proceedings, or otherwise, and to dispossess and remove therefrom any and all occupants and their effects without being liable to prosecution or damages therefore, and to hold said premises as if
      this Lease had ceased by expiration through maturity of the term above specified. TransAct shall pay or cause to be paid to Bomax the deficits between the monthly amount of the rent hereby reserved and the monthly amount of rents which shall be
      collected and received or might with due diligence be collected and received from the Leased Property during the remainder of Lease Term as the several amounts of such deficits shall from month to month be ascertained.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If Bomax at any time is compelled to pay or elects
      to pay any sum of money, by reason of the failure of TransAct to comply with any provision of this Lease, or if Bomax reasonably incurs any expense, including reasonable attorney&#8217;s fees, in instituting, prosecuting and/or defending any action or
      proceeding instituted by reason of any default of TransAct hereunder, the sum or sums so paid by Bomax, with all interest costs and damages, shall be deemed to be additional rent hereunder and shall be due from TransAct to Bomax within ten (10) days
      following the incurring of such respective expenses. Bomax and TransAct agree that in any action or proceeding brought by either Bomax or TransAct against the other on any matters whatsoever arising out of, under, or by virtue of the terms of this
      Lease, that Bomax and TransAct shall and do hereby waive trial by jury.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">25</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct hereby expressly waives (to the extent
      legally permissible), for itself and all persons claiming by, through or under it, any right of redemption and for the restoration of the operation to this Lease under any present or future law in case TransAct shall be dispossessed for any cause or
      in case Bomax shall obtain possession of the Leased Property as herein provided.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XX</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>BOMAX DEFAULTS</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bomax shall be in default of this Lease upon the
      happening of any of the following events:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Bomax shall fail to keep and perform
      any of the covenants, agreements or conditions of this Lease to be kept or performed by Bomax after thirty days notice in writing thereof has been delivered to Bomax, and such default shall not have been cured or a cure has not been substantially
      commenced within said thirty day period;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Any of the representations and
      warranties made by Bomax herein shall prove to have been materially inaccurate when made;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">26</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Bomax shall (i) file a petition in
      bankruptcy or a petition seeking reorganization or other relief under applicable bankruptcy or creditors&#8217; rights laws or seeking the appointment of a receiver or (ii) have filed against it a petition seeking relief under any of the foregoing which
      petition shall not have been stayed or dismissed within 60 days after the filing thereof.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon the occurrence of an event of default
      specified above, which default is not cured or a cure is not substantially undertaken within the applicable time period, if any, TransAct may terminate this Lease upon written notice to Lessor.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXI</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>NO WAIVER OR RIGHTS</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The failure of Bomax or TransAct to insist upon a
      strict performance of any term or condition of this Lease shall not be deemed a waiver of any right or remedy that Bomax or TransAct may have, and shall not be deemed a waiver of any subsequent breach of such term or condition.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>INDEMNIFICATION</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct will indemnify Bomax against all
      liabilities, damages and other expenses, including reasonable attorney&#8217;s fees which may be imposed upon, incurred by, or asserted against Bomax by reason of any of the following occurring during the term of this Lease:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A. &#160;&#160;&#160;&#160;&#160;&#160;&#160;Any use or condition of the Leased
      Property (other than a condition existing prior to November 20, 1992 as to Parcel 1, prior to July 1, 1997 as to Parcel 2 or prior to the commencement of this lease as to the new addition, or a condition for which Bomax has created or is responsible
      under this Lease) or any part thereof;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">27</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Any negligence on the part of
      TransAct, or its agents, employees, contractors, licensees or invitees;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Any personal injury or property damage
      occurring on or about the Leased Property or any adjoining street, sidewalk, curb or space, if caused by the negligence or intentional act of TransAct;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Any failure on the part of TransAct to
      perform or comply with any covenant required to be performed or complied with by TransAct hereunder.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If any action or proceeding is brought against
      Bomax by reason of any such occurrence, TransAct will, at TransAct&#8217;s expense, resist or defend such action or proceeding by counsel approved by Bomax, which approval shall not be withheld unreasonably.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bomax will indemnify TransAct against all
      liabilities, damages and other expenses, including reasonable attorney&#8217;s fees, which may be imposed upon, incurred by or asserted against TransAct by reason of any of the following:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Landlord&#8217;s entry upon or use of the
      Premises.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">B.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Any negligent or intentional act on
      the part of Bomax or its agents, contractors, licensees, invitees or employees.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">C.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The failure on the part of Bomax to
      perform or comply with any covenant or obligation required to be performed or complied with by Bomax hereunder.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">28</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in">&#160;</p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The material breach of any
      representation or warranty made by Bomax in this Lease.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXIII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>BENEFIT</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This Lease and its terms and conditions shall
      inure to the benefit of Bomax, its successors and assigns, and TransAct, its successors and assigns, limited, however, by the provisions herein expressed to the contrary. An assignment for the benefit of creditors of TransAct by an operation of law
      shall not be effective to transfer or assign TransAct&#8217;s interests herein without and unless Bomax shall first consent thereto in writing.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXIV</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>NOTICES</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any notice under this Lease must be in writing and
      must be personally delivered or sent by registered or certified mail, postage prepaid, return receipt requested, to the last address of the party to whom the notice is to be given, as designated by such party in writing. Bomax hereby designates its
      address as 42 Esty Drive, Ithaca, New York 14850. TransAct hereby designates its address as 20 Bomax Drive, Ithaca, New York 14850. Either party may change its designated address by written notice to the other party, in the manner herein provided.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Such notice shall be deemed to have been given on
      the date received by the other party.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">29</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font: 10pt Times New Roman, Times, Serif">ARTICLE XXV</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>ENTIRE AGREEMENT</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This Lease contains the entire agreement and
      understanding between the parties. There are no oral understandings, terms or conditions, and neither party has relied upon any representation, express or implied, not contained in this Lease. All prior understandings, terms or conditions are deemed
      merged in this Lease. This Lease cannot be changed or supplemented orally.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXVI</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>CAPTIONS</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The captions of this Lease are inserted only as a
      matter of convenience and for reference, and in no way define, limit or describe the scope or intent of this Lease, nor in any way affect this Lease.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXVII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>SEVERABILITY</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If any provision of this Lease shall be declared
      invalid or unenforceable, the remainder of the Lease shall continue in full force and effect.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXVIII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>GOVERNING LAW</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This Lease shall be governed by, construed and
      enforced in accordance with the laws of the State of New York.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXIX</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>RECORDING</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TransAct shall not record this Lease without
      written consent </font>of Bomax; however, both parties shall join in the execution of a <font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">memorandum or so-called short form of this Lease for the purpose of recordation. Said
      memorandum or short form of this Lease shall describe the parties, the Premises, the term of this Lease, shall incorporate this Lease by reference and shall contain such other information as is required by statute for recording.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">30</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXX</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>TRANSACT&#8217;S CERTIFICATE</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At any time within ten (10) days after request by
      Bomax, TransAct, by written instrument, duly executed and acknowledged, shall certify to Bomax, any Mortgagee, assignee of a Mortgagee, any purchaser, or any person specified by Bomax, the following: (a) whether or not TransAct is in possession of
      the Leased Premises; (b) whether or not this Lease is unmodified and in full force and effect (or if there has been modification, that the same is in full force and effect as modified and setting forth such modification); (c) whether or not there are
      then existing set-offs or defenses against the enforcement of any right or remedy of Bomax, or any duty or obligation of TransAct (and, if so, specifying the same); and (d) dates, if any, to which any rent or other charges have been paid in advance.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXXI</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>NO BROKER</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bomax and TransAct warranty and represent that
      each has dealt with no broker and shall indemnify and hold each other harmless for any and all claims from any broker, including reasonable attorney&#8217;s fees.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">31</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXXII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>PRIOR LEASES TERMINATED</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The parties acknowledge that, as of the
      Commencement Date, a certain lease dated as of March 23, 1992, as amended by that certain Lease Admendment dated as of October 18, 1993, as further amended by that certain Lease Amendment dated as of December 2, 1996, as further amended by that
      certain Agreement Regarding the Continuation and Renewal of Lease dated as of July 18, 2001 is terminated and neither party has any rights or obligations under such lease.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ARTICLE XXXIII</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>COUNTERPARTS</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This Lease may be signed in two or more
      counterparts, each of which shall be deemed an original, but all of which together shall constitute one and the same instrument.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">IN WITNESS, the parties have executed these
      presents in duplicate as of the day and year first above written.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse">

      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif" colspan="2"><font style="font: 10pt Times New Roman, Times, Serif">BOMAX PROPERTIES, LLC</font></td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif" colspan="2">
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TRANSACT TECHNOLOGIES INCORPORATED</font></p>
        </td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif" colspan="2">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif" colspan="2">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif; width: 5%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; width: 40%; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Robert T. Dean</font></td>
        <td style="width: 10%">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif; width: 5%"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; width: 40%; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Richard L. Cote</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ROBERT T. DEAN</font></td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">RICHARD L. COTE</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manager</font></td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Executive Vice President &amp; CFO</font></p>
        </td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif" colspan="2">
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">THE TOMPKINS COUNTY INDUSTRIAL DEVELOPMENT AGENCY</font></p>
        </td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif" colspan="2">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
      </tr>

  </table>
  <p style="margin-top: 0; margin-bottom: 0">&#160;</p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">32</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&#160;</p>
  <table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; width: 100%">

      <tr style="vertical-align: top; text-align: justify">
        <td style="width: 25%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">STATE OF NEW YORK </font></td>
        <td style="width: 75%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td>&#160;</td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">) &#160;&#160;&#160;&#160;ss:</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">COUNTY OF TOMPKINS </font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On the 19<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">th</sup> day of July, 2001, before me, the undersigned, personally appeared</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ROBERT T. DEAN</b></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font: 10pt Times New Roman, Times, Serif"><b>&#160;</b></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">personally known to me or proved to me on the basis of satisfactory
      evidence to be the individual whose name is subscribed to the within instrument and acknowledged to me that the individual executed the same in the individual&#8217;s capacity, and that by the individual&#8217;s signature on the instrument, the individual, or
      the person upon behalf of which the individual acted, executed the instrument.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <table cellspacing="0" cellpadding="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse">

      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ June S. Protts</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">JUNE S. PROTTS</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public, State of New York</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No. 4527730</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Qualified in Tompkins County</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission Expires July 31, 2002</font></p>
        </td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; width: 100%">

      <tr style="vertical-align: top; text-align: justify">
        <td style="width: 25%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">STATE OF NEW YORK </font></td>
        <td style="width: 75%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td>&#160;</td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">) &#160;&#160;&#160;&#160;ss:</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">COUNTY OF TOMPKINS </font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On the 18<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">th</sup> day of July, 2001, before me, the undersigned, personally appeared</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>RICHARD L. COTE</b></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font: 10pt Times New Roman, Times, Serif"><b>&#160;</b></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">personally known to me or proved to me on the basis of satisfactory
      evidence to be the individual whose name is subscribed to the within instrument and acknowledged to me that the individual executed the same in the individual&#8217;s capacity, and that by the individual&#8217;s signature on the instrument, the individual, or
      the person upon behalf of which the individual acted, executed the instrument.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <table cellspacing="0" cellpadding="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse">

      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center; padding-bottom: 1pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Rebecca A. Carvill</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">REBECCA A. CARVILL</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public, State of New York</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No. 01CA6045341</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Qualified in Cayuga County</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission Expires July 31, 2002</font></p>
        </td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">33</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; width: 100%">

      <tr style="vertical-align: top; text-align: justify">
        <td style="width: 25%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">STATE OF NEW YORK </font></td>
        <td style="width: 75%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td>&#160;</td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">) &#160;&#160;&#160;&#160;ss:</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">COUNTY OF TOMPKINS </font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On the &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;day of &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;, 2001, before
      me, the undersigned, personally appeared</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">personally known to me or proved to me on the basis of satisfactory
      evidence to be the individual whose name is subscribed to the within instrument and acknowledged to me that the individual, executed the same in the individual&#8217;s capacity, and that by the individual&#8217;s signature on the instrument, the individual or
      the person upon behalf of which the individual acted, executed the instrument.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <table cellspacing="0" cellpadding="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse">

      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center; padding-bottom: 1pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center; border-bottom: Black 1pt solid">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public</font></p>
        </td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">34</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font: 10pt Times New Roman, Times, Serif"><img alt="" src="image02.jpg">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">&#160;</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">AGREEMENT made this 13<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">th</sup> day
      of May, 1992, by and between:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">BOMAX PROPERTIES, a New York partnership, with offices at 42 Esty
      Drive, Ithaca, New York (&#8220;Bomax&#8221;) and</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">BERNARD MALLOY and JUDITH MALLOY, husband and wife, both residing at
      833 Van Kirk Road, Newfield, New York (&#8220;Malloys&#8221;).</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><u>RECITALS</u></font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.&#160;&#160;&#160;&#160;&#160;By deed dated November 10, 1989 and recorded in the Tompkins
      County Clerk&#8217;s Office in Book 650 of Deeds at page 1026, Bomax conveyed to Malloys the premises shown on a survey map entitled &#8220;SURVEY MAP, PARCEL TO BE CONVEYED BY BOMAX PROPERTIES, LOCATED ON WARREN ROAD, VILLAGE OF LANSING, TOMPKINS CO., N.Y.&#8221;
      dated August 15, 1988, revised February 14, 1989, prepared by T. G. Miller Associates P.C., a copy of which is attached to said deed.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.&#160;&#160;&#160;&#160;&#160;Said premises were conveyed by Bomax &#8220;Together with and subject
      to a common driveway 50 feet in width east to west for the benefit of the parcel above described and the premises lying westerly thereof the center line of said common driveway to be the west line of the premises above described and extending
      southerly from the north line of the [premises above described] to the southerly line of the 20&#8217; drainage easement as shown on the survey map above mentioned.&#8221;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.&#160;&#160;&#160;&#160;&#160;Bomax continues to be the owner of the premises lying westerly
      of the premises conveyed to Malloys and intends to develop such premises.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.&#160;&#160;&#160;&#160;&#160;The parties wish to extend such common driveway to the south and
      to specify their rights and obligations with respect to such common driveway.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">NOW, THEREFORE, for good and valuable consideration, the parties agree
      as follows:</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.&#160;&#160;&#160;&#160;&#160;The center line of said common driveway shall commence at the
      northwest corner of Malloys&#8217; property and extend southerly a distance of approximately 120 feet; the common driveway is and shall be as shown on a site plan by Tallman &amp; Tallman, Architects, dated January 27, 1992, entitled &#8220;HEADQUARTERS BUILDING
      - ITHACA PERIPHERALS INC.&#8221; which is incorporated herein by reference.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.&#160;&#160;&#160;&#160;&#160;Bomax shall be responsible for the original installation and
      construction of the driveway as shown on said site plan, said driveway to be approximately 23 feet in width.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.&#160;&#160;&#160;&#160;&#160;Until such time as Malloys shall develop their property, Bomax
      shall be responsible for the repair and maintenance of such common driveway, including snow removal.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.&#160;&#160;&#160;&#160;&#160;After the Malloys shall have developed their property, each
      party shall share equally in the cost of the maintenance and repair of such common driveway, including snow removal. Notwithstanding the above, Malloys obligation to share in the cost of maintenance and repair shall be limited to that portion of the
      common driveway which is located northerly of the driveway to be constructed by them and providing access to their parcel.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.&#160;&#160;&#160;&#160;&#160;This agreement shall run with the land and be binding on and
      inure to the benefit of the parties hereto, their respective heirs, distributees and assigns.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">IN WITNESS WHEREOF, the parties have executed this agreement as of the
      date above mentioned.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">BOMAX PROPERTIES</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse">

      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="width: 3%; font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">by</font></td>
        <td style="width: 45%; font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Robert T. Dean</font></td>
        <td style="width: 5%">&#160;</td>
        <td style="width: 47%; font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ Bernard Malloy</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">BERNARD MALLOY</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif">by</td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">/s/ Maxine Dean</td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">/s/ Judith Malloy</td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></font></td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td>&#160;</td>
        <td style="font: 10pt Times New Roman, Times, Serif"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">JUDITH MALLOY</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font: 10pt Times New Roman, Times, Serif">EXHIBIT B</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <div class="BRPFPageBreakArea" style="MARGIN-BOTTOM: 10pt; CLEAR: both; MARGIN-TOP: 10pt">
    <div class="BRPFPageNumberArea" style="TEXT-ALIGN: center"><font class="BRPFPageNumber" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman', Times, serif; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal">&#160;</font></div>
    <div class="BRPFPageBreak" style="PAGE-BREAK-AFTER: always">
      <hr noshade="noshade" style="BORDER-LEFT-WIDTH: 0px; HEIGHT: 2px; BORDER-RIGHT-WIDTH: 0px; WIDTH: 100%; BORDER-BOTTOM-WIDTH: 0px; COLOR: #000000; CLEAR: both; MARGIN: 4px 0px; BORDER-TOP-WIDTH: 0px; BACKGROUND-COLOR: #000000"> </div>
  </div>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; width: 100%">

      <tr style="vertical-align: top; text-align: justify">
        <td style="width: 25%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">STATE OF NEW YORK </font></td>
        <td style="width: 75%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td>&#160;</td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">) &#160;&#160;&#160;&#160;ss:</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">COUNTY OF TOMPKINS </font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On this 1<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">st</sup>
      day of June, 1992, before me personally came R. T. DEAN and MAXINE DEAN, to me known and known to me to be the members of the partnership of BOMAX PROPERTIES, described in and who executed the foregoing instrument, and they duly and severally
      acknowledged to me that they executed the same as and for the act and deed of said partnership.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse">

      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ William C. Swerbenski</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">WILLIAM C. SWERBENSKI</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public, State of New York</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4602849</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Qualified in Tompkins County</font></p>
          <font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Term Expires February 28, 1993</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif"></font></p>
  <table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; width: 100%">

      <tr style="vertical-align: top; text-align: justify">
        <td style="width: 25%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">STATE OF NEW YORK </font></td>
        <td style="width: 75%;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td>&#160;</td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">) &#160;&#160;&#160;&#160;ss:</font></td>
      </tr>
      <tr style="vertical-align: top; text-align: justify">
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">COUNTY OF TOMPKINS </font></td>
        <td><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</font></td>
      </tr>

  </table>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On this 13<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">th</sup>
      day of May, 1992, before me the subscriber, personally appeared BERNARD MALLOY and JUDITH MALLOY, to me personally known and known to me to be the same persons described in the foregoing instrument and they duly and severally acknowledged to me that
      they executed the same.</font></p>
  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></p>
  <table cellspacing="0" cellpadding="0" style="width: 100%; font: 10pt Times New Roman, Times, Serif; border-collapse: collapse">

      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="width: 50%; font: 10pt Times New Roman, Times, Serif; text-align: center; border-bottom: Black 1pt solid"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/ W. Charles J. Guttman</font></td>
      </tr>
      <tr style="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</font></td>
        <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font: 10pt Times New Roman, Times, Serif">&#160;</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">W. CHARLES J. GUTTMAN</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notary Public, State of New York</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No. 4636755</font></p>
          <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt;"><font style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Qualified in Tompkins County</font></p>
          <font style="font: 10pt Times New Roman, Times, Serif">Commission Expires June 30, 1994</font></td>
      </tr>

  </table>
  <p style="margin-top: 0; font: 10pt Times New Roman, Times, Serif; margin-bottom: 0">&#160;</p>
  <p style="margin-top: 0; font: 10pt Times New Roman, Times, Serif; margin-bottom: 0"> <br>
  </p>
  <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
  <p style="margin-top: 0; font: 10pt Times New Roman, Times, Serif; margin-bottom: 0"> </p>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>4
<FILENAME>ef20015290_23-1.htm
<DESCRIPTION>CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
  <div style="text-align: right;"><font style="font-weight: bold;">Exhibit 23.1</font><br>
  </div>
  <div style="text-align: left;">
    <div><br>
    </div>
    <div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><u>INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM&#8217;S CONSENT</u></div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We consent to the incorporation by reference in the Registration Statement of TransAct Technologies Incorporated on Form S-8<font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</font>[File Nos. 333-203184, 333-132624, 333-170515, 333-221514, 333-248054 and 333-273888] and Form S-3 [File No. 333-261026] of our report dated March 13, 2024,<sup style="font-weight: bold; vertical-align: text-top; line-height: 1; font-size: smaller;">&#160;</sup>with respect to our audits of the consolidated financial statements of TransAct Technologies Incorporated as of December 31, 2023 and 2022 and for the years ended December 31, 2023 and 2022, which report is
        included in this Annual Report on Form 10-K of TransAct Technologies Incorporated for the year ended December 31, 2023.</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Marcum <font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-variant: small-caps;">llp</font></div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Hartford, CT</div>
      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 13, 2024</div>
    </div>
    <div>
      <div>
        <div>
          <div><br>
            <div><br>
              <div>
                <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
              <br>
            </div>
            <br>
          </div>
          <br>
        </div>
        <br>
      </div>
      <br>
    </div>
    <br>
    <br>
    <div><br>
    </div>
    <div><br>
      <br>
    </div>
    <div><br>
      <br>
      <br>
    </div>
    <br>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>ef20015290_31-1.htm
<DESCRIPTION>CERTIFICATION OF CEO PURSUANT TO SECTION 302 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: Broadridge
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
  <div id="TRGRSegment:90078aae-4915-41d6-bf26-54983813acb4">
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">
      <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">Exhibit 31.1</div>
    <div><br>
    </div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><u>RULE 13a-14(a) CERTIFICATION OF CHIEF EXECUTIVE OFFICER IN ACCODANCE WITH SECTION 302 OF THE</u></div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><u>SARBANES-OXLEY ACT OF 2002</u></div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I, John M. Dillon, certify that:</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z9a5308a0f81b4c8187534f30210a3811">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I have reviewed this Annual Report on Form 10-K of TransAct Technologies Incorporated;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="zeea69e5423634a99af32d1bea5a9028f">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in
              light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z3ed3b23f98dd4e408605d990dd650759">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial
              condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="zacf7d51e88ab486a8c5e73b7941c7ce4">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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 have:</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z3dec4b0ad02148dc9a12cb07a79c4f4a">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material
              information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="zaf99f73540124599bf446c98e197918f">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide
              reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z657e1eb23ac14f339677a945084d3ec7">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(c)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the
              disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z59a8903b904e4a3f97e7607f14445f04">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(d)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the
              registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z25c92c6f33064d2a9123c5cabb14a086">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's
              auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z05ff36d674c04dcc9b19c48629e87d1c">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely
              affect the registrant's ability to record, process, summarize and report financial information; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z0742b66339bb40118a07498059e9f585">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial
              reporting.</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date:&#160;&#160;March 13, 2024</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;" id="z18571116717345c2977c37e4a6782cf6">

        <tr>
          <td style="width: 49.91%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ John M. Dillon</div>
          </td>
          <td style="width: 50.09%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 49.91%; vertical-align: top; border-top: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">John M. Dillon</div>
          </td>
          <td style="width: 50.09%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 49.91%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Executive Officer</div>
          </td>
          <td style="width: 50.09%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div style="margin-bottom: 12pt;"><br>
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>6
<FILENAME>ef20015290_31-2.htm
<DESCRIPTION>CERTIFICATION OF CFO PURSUANT TO SECTION 302 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: Broadridge
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">
  <div id="TRGRSegment:afd4f310-320f-43fd-9a6b-0170e56827a0">
    <div style="text-align: right;">
      <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"><font style="font-weight: bold;">Exhibit 31.2</font></div>
    <div><br>
    </div>
    <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;"><u>RULE 13a-14(a) CERTIFICATION OF CHIEF EXECUTIVE OFFICER IN ACCODANCE WITH SECTION 302 OF THE</u></div>
    <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;"><u>SARBANES-OXLEY ACT OF 2002</u></div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">I, Steven A. DeMartino, certify that:</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z43ab007cc14f4334868156d495ac72eb" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">1.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">I have reviewed this Annual Report on Form 10-K of TransAct Technologies Incorporated;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zfb8221cbdec64372a5d738953e2ac12a" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">2.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements
              made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z6e44feeb939a442c84f8f8126d92e6c8" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">3.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial
              condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z209f63378b6e45acaf1193d6e58c5704" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">4.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">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 have:</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z8e6bf071cce540a4ac5d38054e5fa2a9" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that
              material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z8bbe4459eb7546b7b683135897a32830" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to
              provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z1a42dc8cf1794cbdb07726efb3107da4" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">(c)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the
              disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z4436fe0ee449499a809177382b23d72a" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">(d)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal
              quarter (the registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z4f6cbb9cf4b8413fb359e48cf8a237c7" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">5.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the
              registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z4b1f250cef9042458f34f47d3ba8e75f" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to
              adversely affect the registrant's ability to record, process, summarize and report financial information; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z8f89bbb3858a409d9c00ed738ae25215" class="DSPFListTable" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial
              reporting.</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Date:&#160;&#160;March 13, 2024</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z4ee8f70b77eb43e89890751422b531b8" style="font-family: 'Times New Roman',Times,serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: rgb(0, 0, 0);">

        <tr>
          <td style="width: 50.31%; vertical-align: top; border-bottom: 2px solid rgb(0, 0, 0);">
            <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">/s/ Steven A. DeMartino</div>
          </td>
          <td style="width: 49.69%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 50.31%; vertical-align: top; border-top: 2px solid rgb(0, 0, 0);">
            <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">Steven A. DeMartino</div>
          </td>
          <td style="width: 49.69%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 50.31%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
          </td>
          <td style="width: 49.69%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div>
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32
<SEQUENCE>7
<FILENAME>ef20015290_32.htm
<DESCRIPTION>CERTIFICATION OF CEO AND CFO PURSUANT TO SECTION 906 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: Broadridge
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
  <div id="TRGRSegment:24ab536c-f0d7-4991-b0af-c8edcf4b4b0d">
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">
      <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">Exhibit 32</div>
    <div><br>
    </div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">CERTIFICATION OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER</div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PURSUANT TO 18 U.S.C. SECTION 1350</div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">AS ADOPTED PURSUANT TO</div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In connection with the Annual Report of TransAct Technologies Incorporated (the &#8220;Company&#8221;) on Form 10-K for the period ended December 31, 2023, as filed
      with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), each of the undersigned officers of the Company certifies, 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 his knowledge:</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="ze2091bcadc0148d18d225587c039baae" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 27.1pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z5d66f823f85c470a81466284ed741f40" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 27.1pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date:&#160;&#160;March 13, 2024</div>
    <div><br>
    </div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z7665aaf660f54e05bf3c839811c856b6" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 50.04%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ John M. Dillon</div>
          </td>
          <td style="width: 49.96%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 50.04%; vertical-align: top; border-top: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">John M. Dillon</div>
          </td>
          <td style="width: 49.96%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 50.04%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Executive Officer</div>
          </td>
          <td style="width: 49.96%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date:&#160;&#160;March 13, 2024</div>
    <div><br>
    </div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zea1429bc1e14436d89cd046ea566c219" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 50.04%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Steven A. DeMartino</div>
          </td>
          <td style="width: 49.96%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 50.04%; vertical-align: top; border-top: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino</div>
          </td>
          <td style="width: 49.96%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 50.04%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
          </td>
          <td style="width: 49.96%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div>
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
    <div style="margin-bottom: 12pt;"><br>
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97
<SEQUENCE>8
<FILENAME>ef20015290_ex97.htm
<DESCRIPTION>TRANSACT TECHNOLOGIES INCORPORATED CLAWBACK POLICY IN THE EVENT OF A FINANCIAL RESTATEMENT
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: Broadridge
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;">
    <div style="text-align: right;"><font style="font-weight: bold;">Exhibit 97</font><br>
    </div>
    <div style="text-align: right;"><br>
      <div class="BRPFPageHeader">
        <div style="text-align: right;"><img width="120" height="32" src="image03.jpg"></div>
      </div>
      <div><br>
      </div>
      <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">Clawback Policy in the Event of a Financial Restatement</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z9b6b77920cbc446cb42823d02fd8aa6f" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">I.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Purpose</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 10pt; font-family: 'Times New Roman',Times,serif;">The purpose of this Clawback Policy in the Event
          of a Financial Restatement, as may be amended from time to time (this &#8220;<u>Policy</u>&#8221;), is to describe the circumstances under which the Covered Executives (as defined below) will be required to repay or return Incentive Compensation (as defined below) to TransAct Technologies Incorporated (the &#8220;<u>Company</u>&#8221;). Each Covered Executive is required to sign and return to
          the Company the acknowledgement form attached to this Policy pursuant to which such Covered Executive will agree to be bound by, and to abide by, the terms of this Policy (&#8220;<u>Acknowledgement Form</u>&#8221;). This Policy is effective as of October 2, 2023 (the &#8220;<u>Effective Date</u>&#8221;).</font></div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zeb653fbefa37495db070c359ba5b5e2a" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">II.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Administration</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">This Policy shall be administered by the Compensation Committee (the &#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Committee</u></font>&#8221;) of the Board of Directors of the Company (the &#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Board</u></font>&#8221;). The Committee is authorized to interpret and construe
        this Policy and to make all determinations necessary, appropriate, or advisable for the administration of this Policy. Any determinations made by the Committee shall be final and binding on all affected individuals.</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zdb3f37c051da4d358760ed03bbd20fc0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">III.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Definitions</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">For purposes of this Policy, the following capitalized terms have the meanings set forth below.&#160; Other defined terms not
        defined in this section are defined elsewhere in this Policy.</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zbc377c29489c4ccea37f2f544e3a64c1" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">A.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Accounting Restatement</u></font>&#8221; means an accounting restatement due to the material noncompliance of
                the Company with any financial reporting requirement under the securities laws, including any required accounting restatement (a) to correct an error in previously issued financial statements that is material to the previously issued
                financial statements (a &#8220;Big R&#8221; restatement), or (b) that corrects an error that is not material to previously issued financial statements, but would result in a material misstatement if the error were corrected in the current period or
                left uncorrected in the current period (a &#8220;little r&#8221; restatement).</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 72pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The following types of changes to financial statements do not represent error corrections, and therefore would not trigger
        application of this Policy: (a) retrospective application of a change in accounting principle; (b) retrospective revision to reportable segment information due to a change in the structure of the Company&#8217;s internal organization; (c) retrospective
        reclassification due to a discontinued operation; (d) retrospective application of a change in reporting entity, such as from a reorganization of entities under common control; or (e) retrospective revision for stock splits, reverse stock splits,
        stock dividends or other changes in capital structure. The foregoing list is not intended to be exhaustive and is subject to any changes in applicable accounting standards.</div>
      <div style="text-align: justify; margin-left: 72pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"> <br>
      </div>
      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter"></div>
        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr noshade="noshade" style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"></div>
        <div class="BRPFPageHeader">
          <div><br>
          </div>
          <div style="text-align: right;"><img width="120" height="32" src="image03.jpg"></div>
        </div>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z0d5c19b2be6c4152b7a0df4153f578e4" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">B.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Covered Executive</u></font>&#8221; has the meaning set forth in Section IV below.</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zfcdce65824e54bab93b6e66ab2ba5df7" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">C.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Eligible Incentive Compensation</u></font>&#8221; means all Incentive Compensation (as defined below) that is
                Received (as defined below) by a Covered Executive (a) on or after the Effective Date, (b) who served as a Covered Executive at any time during the performance period for that Incentive Compensation, (c) while the Company has a class of
                securities listed on Nasdaq or other national securities exchange or national securities association, and (d) during the applicable Recovery Period (as defined below). For purposes of clarity, in order for Incentive Compensation to qualify
                as Eligible Incentive Compensation, all four of the conditions listed in this Section III.C must be satisfied.</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zf6de3e6fd0a742e284cde42ff9957428" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">D.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Excess Compensation</u></font>&#8221; means, with respect to each Covered Executive in connection with an
                Accounting Restatement, the amount of Eligible Incentive Compensation that exceeds the amount of Incentive Compensation that otherwise would have been Received had it been determined based on the restated amounts, computed without regard to
                any taxes paid, as determined by the Committee.</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z17b5009cbf1e46d3b8f3531d0c6d1b3b" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">E.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Financial Reporting Measures</u></font>&#8221; are measures that are determined and presented in accordance
                with the accounting principles used in preparing the Company&#8217;s financial statements, and all other measures that are derived wholly or in part from such measures. Stock price and total shareholder return (and any measures that are derived
                wholly or in part from stock price or total shareholder return) are considered Financial Reporting Measures for purposes of this Policy. For the avoidance of doubt, a Financial Reporting Measure need not be presented in the Company&#8217;s
                financial statements or included in a filing with the Securities and Exchange Commission (&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>SEC</u></font>&#8221;).</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z6242626b28904968b2cde5128f966c19" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">F.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Incentive Compensation</u></font>&#8221; means any compensation that is granted, earned or vested based
                wholly or in part upon the attainment of a Financial Reporting Measure.</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z2ce47b8bde06443daebfc93e3f808d26" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">G.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">Incentive Compensation shall be deemed &#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Received</u></font>&#8221; by a Covered Executive in the Company&#8217;s
                fiscal period during which the Financial Reporting Measure applicable to such Incentive Compensation is attained, even if payment or grant of the Incentive Compensation occurs after the end of that period.</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z882c1a31e9e0487696aca879edbe5e04" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">H.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Recovery Period</u></font>&#8221; means, with respect to any Accounting Restatement, the Company&#8217;s three
                completed fiscal years immediately preceding the Restatement Date (as defined below) and any transition period (that results from a change in the Company&#8217;s fiscal year) of less than nine months within or immediately following those three
                completed fiscal years.</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zb80718f6ae6b4929bf196da8da89345f" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">I.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Restatement Date</u></font>&#8221; means the earlier to occur of (a) the date the Board, a committee of the
                Board or the officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement, or (b) the date a court,
                regulator or other legally authorized body directs the issuer to prepare an Accounting Restatement.</div>
            </td>
          </tr>

      </table>
      <div> <br>
      </div>
      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter"></div>
        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr noshade="noshade" style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"></div>
        <div class="BRPFPageHeader">
          <div><br>
          </div>
          <div style="text-align: right;"><img width="120" height="32" src="image03.jpg"></div>
        </div>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z265671fb18734011abd3ff1a0661ace6" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">IV.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Covered Executives</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">This Policy applies to each individual who is or was designated as an &#8220;officer&#8221; of the Company under Rule 16a-1(f) under the
        Securities Exchange Act of 1934, as amended (each a &#8220;Covered Executive&#8221;), whether or not such Covered Executive is serving at the time the Excess Compensation is required to be repaid to the Company. This Policy will apply without regard to whether
        any misconduct occurred or whether the Covered Executive had any individual knowledge or responsibility related to the erroneous financial statements necessitating the relevant Accounting Restatement. For the avoidance of doubt, in the event that a
        Covered Executive commits a significant legal or compliance violation under the Company&#8217;s Clawback Policy in the Event of a Legal or Compliance Violation (the &#8220;Compliance Violation Clawback Policy&#8221;) that leads to an Accounting Restatement under
        this Policy, the amount to be recovered shall be the greater of the amount of Excess Compensation calculated in accordance with this Policy and the amount determined by the Committee under the Compliance Violation Clawback Policy.</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z93405b22027246678f722e5f142ba4f1" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">V.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Recoupment of Excess Compensation; Accounting Restatement</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z751d459d839e48788bcb7f4a2b193614" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">A.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">In the event of an Accounting Restatement, the Company will recover reasonably promptly any Excess Compensation in accordance with this Policy.&#160; Accordingly, the Committee
                will promptly determine the amount of any Excess Compensation for each Covered Executive in connection with such Accounting Restatement and will promptly thereafter provide each Covered Executive with a written notice regarding the required
                repayment or return, as applicable, and setting forth the amount of Excess Compensation due. For Eligible Incentive Compensation based on (or derived from) stock price or total shareholder return where the amount of Excess Compensation is
                not subject to mathematical recalculation directly from the information in the applicable Accounting Restatement, the amount will be determined by the Committee based on a reasonable estimate of the effect of the Accounting Restatement on
                the stock price or total shareholder return upon which the Eligible Incentive Compensation was Received (in which case, the Company will maintain documentation of the determination of such reasonable estimate and provide such documentation
                to The Nasdaq Stock Market (&#8220;<font style="font-family: 'Times New Roman',Times,serif;"><u>Nasdaq</u></font>&#8221;)).</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z50121634b2a044baaa26815cf518e5ee" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">B.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">The Committee has broad discretion, based on all applicable facts and circumstances, including consideration of pursuing an appropriate balance of cost and speed of recovery,
                to determine the appropriate means of recovery of Excess Compensation, subject to it occurring reasonably promptly.<sup style="vertical-align: text-top; line-height: 1; font-size: smaller;">&#160;</sup>To the extent that the Committee determines that a method of recovery other than repayment by the Covered
                Executive in a lump sum in cash or property is appropriate, the Company will, subject to Section V.D, determine alternative means of recovery, which may include an offer to enter into a repayment agreement (in a form reasonably acceptable
                to the Committee) with the Covered Executive. For the avoidance of doubt, except as set forth in Section V.D below, in no event may the Company accept an amount that is less than the amount of Excess Compensation in satisfaction of a
                Covered Executive&#8217;s obligations under this Policy.</div>
            </td>
          </tr>

      </table>
      <div> <br>
      </div>
      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter"></div>
        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr noshade="noshade" style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"></div>
        <div class="BRPFPageHeader">
          <div><br>
          </div>
          <div style="text-align: right;"><img width="120" height="32" src="image03.jpg"></div>
        </div>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z016946085e8f4667bfecf84076c47bd1" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">C.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">To the extent that a Covered Executive fails to repay all Excess Compensation to the Company when due (as determined in accordance with Section V.B above), the Company will
                take all actions reasonable and appropriate to recover such Excess Compensation from the applicable Covered Executive. The applicable Covered Executive may, in the discretion of the Committee, be required to reimburse the Company for any
                and all expenses reasonably incurred (including legal fees) by the Company in recovering such Excess Compensation in accordance with the immediately preceding sentence.</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z424d6375b7a445cea9c42ea5ac09af08" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">D.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">Notwithstanding anything in this Policy to the contrary, the Company will not be required to take the actions contemplated by this Section V if the following conditions are
                met and the Committee determines that recovery would be impracticable:</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z23e32d2ff88c4bae82ddf4a13f06d04d" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 72pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">1.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">The direct expenses paid to a third party to assist in enforcing the Policy<font style="font-family: 'Times New Roman',Times,serif;"><br>
                </font>against a Covered Executive would exceed the amount to be recovered, after the Company has made a reasonable attempt to recover the applicable Excess Compensation, documented such attempts and provided such documentation to Nasdaq;</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zdb80e7af496646409f7b33492a5d6f9e" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 72pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">2.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">Recovery would violate home country law where that law was adopted prior<font style="font-family: 'Times New Roman',Times,serif;"><br>
                </font>to November 28, 2022, provided that, before determining that it would be impracticable to recover any amount of Excess Compensation based on violation of home country law, the Company has obtained an opinion of home country counsel,
                acceptable to the Nasdaq, that recovery would result in such a violation and a copy of the opinion is provided to Nasdaq; or</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="ze14edcda4ef14cc5bbec57faf01185ab" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 72pt; font-size: 10pt;"><br>
            </td>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">3.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif;">Recovery would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the Company, to fail to meet the
                requirements of Sections 401(a)(13) or 411(a) of the Internal Revenue Code of 1986, as amended, and regulations thereunder.</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z61bcb84fb6d24cf2a3dbb4daab600ea8" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">VI.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Indemnification Prohibition</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The Company is prohibited from indemnifying any Covered Executive against the loss of any Excess Compensation that is repaid,
        returned or recovered in accordance with the terms of this Policy or any claims relating to the Company&#8217;s enforcement of its rights under this Policy. This prohibition also applies to payment to, or reimbursement of, a Covered Executive for
        premiums for any insurance policy covering any potential losses under this Policy. Further, the Company may not enter into any agreement that exempts any Incentive Compensation from the application of this Policy or that waives the Company&#8217;s right
        to recovery of any Excess Compensation, and this Policy will supersede any such agreement (whether entered into before, on or after the Effective Date).</div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"> <br>
      </div>
      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter"></div>
        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr noshade="noshade" style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"></div>
        <div class="BRPFPageHeader">
          <div><br>
          </div>
          <div style="text-align: right;"><img width="120" height="32" src="image03.jpg"></div>
        </div>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zd640c286af1b416c9852fa6899529f96" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">VII.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Amendment; Termination</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The Committee may amend or terminate this Policy from time to time in its discretion. Notwithstanding anything in this section
        to the contrary, no amendment or termination of this Policy will be effective if such amendment or termination would (after taking into account any actions taken by the Company contemporaneously with such amendment or termination) cause the Company
        to violate any federal securities laws, SEC rule or the rules of Nasdaq or any national securities exchange or national securities association on which the Company&#8217;s securities are then listed.</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="z39a9acbd677e439e94143f316b113a45" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">VIII.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Other Recoupment Rights; No Additional Payments</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">The Committee intends that this Policy will be applied to the fullest extent of the law. The Committee may require, through
        execution of the Acknowledgment Form or otherwise, that any employment agreement, equity award agreement, or any other agreement, plan or arrangement entered into or adopted on or after the Effective Date will, as a condition to the grant of any
        benefit thereunder, require a Covered Executive to agree to abide by the terms of this Policy. Except as otherwise explicitly provided for in this Policy, any right of recoupment under this Policy is in addition to, and not in lieu of, any other
        remedies or rights of recoupment that may be available to the Company under the Sarbanes-Oxley Act of 2002 or other applicable law, regulation, rule, or Company policy, or pursuant to the terms of any employment agreement, equity award agreement,
        or similar agreement, plan or arrangement and any other legal remedies available to the Company.</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <table cellspacing="0" cellpadding="0" id="zbb6a4e4e4c0641a2aa5c4eb34678f888" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 36pt; vertical-align: top; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">IX.</td>
            <td style="width: auto; vertical-align: top; text-align: justify; font-size: 10pt;">
              <div style="font-family: 'Times New Roman',Times,serif; font-weight: bold;">Successors</div>
            </td>
          </tr>

      </table>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; margin-left: 36pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">This Policy shall be binding and enforceable against all Covered Executives and their beneficiaries, heirs, executors,
        administrators or other legal representatives.</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
        <div class="BRPFPageFooter"></div>
        <div class="BRPFPageBreak" style="page-break-after: always;">
          <hr noshade="noshade" style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"></div>
        <div class="BRPFPageHeader">
          <div><br>
          </div>
          <div style="text-align: right;"><img width="120" height="32" src="image03.jpg"></div>
        </div>
      </div>
      <div style="text-align: right; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><u>Appendix</u></div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">TransAct Technologies Incorporated</div>
      <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">Clawback Policy in the Event of a Financial Restatement</div>
      <div style="text-align: center; font-family: 'Times New Roman',Times,serif; font-size: 10pt; font-weight: bold;">Acknowledgment Form</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">By signing below, the undersigned acknowledges and confirms that the undersigned has received and reviewed a copy of the Company&#8217;s Clawback
        Policy in the Event of a Financial Restatement, as may be amended from time to time (the &#8220;Policy&#8221;). Capitalized terms used but not otherwise defined in this Acknowledgement Form have the meaning set forth in the Policy.</div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">By signing this Acknowledgement Form, the undersigned acknowledges and agrees that the undersigned is and will continue to be subject to the
        Policy both during and after the undersigned&#8217;s employment with the Company and that the terms of the Policy are hereby incorporated by reference in any agreement, plan or arrangement providing for payment of Incentive Compensation to any Covered
        Executive. Further, by signing below, the undersigned agrees to abide by the terms of the Policy, including, without limitation, by returning or repaying any Excess Compensation (as defined in the Policy) to the Company to the extent required by,
        and in a manner permitted by, the Policy.</div>
      <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"> <br>
      </div>
      <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"> <br>
      </div>
      <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;">
        <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"> </div>
      <div style="font-size: 10pt;"><br>
      </div>
      <div style="font-size: 10pt;"><br>
      </div>
    </div>
    <div style="text-align: right;"><font style="font-weight: bold;"><font style="font-size: 10pt;"> </font><br>
      </font></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>tact-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<xs:schema targetNamespace="http://transact-tech.com/20231231" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tact="http://transact-tech.com/20231231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:srt-types="http://fasb.org/srt-types/2023">
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20231231_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="tact-20231231_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="tact-20231231_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="tact-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:roleType roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" id="DocumentAndEntityInformation">
        <link:definition>000100 - 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://transact-tech.com/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
        <link:definition>010000 - 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://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical">
        <!--Parent Role: CONSOLIDATED BALANCE SHEETS-->
        <link:definition>010100 - 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://transact-tech.com/role/ConsolidatedStatementsOfOperations" id="ConsolidatedStatementsOfOperations">
        <link:definition>020000 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss" id="ConsolidatedStatementsOfComprehensiveIncomeLoss">
        <link:definition>030000 - Statement - CONSOLIDATED STATEMENTS OF 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://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" id="ConsolidatedStatementsOfChangesInShareholdersEquity">
        <link:definition>040000 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' 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://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
        <link:definition>050000 - 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://transact-tech.com/role/DescriptionOfBusiness" id="DescriptionOfBusiness">
        <link:definition>060100 - Disclosure - Description of business</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies">
        <link:definition>060200 - Disclosure - Summary of significant accounting policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/Inventories" id="Inventories">
        <link:definition>060300 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/FixedAssetsNet" id="FixedAssetsNet">
        <link:definition>060400 - Disclosure - Fixed assets, net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IntangibleAssetsNet" id="IntangibleAssetsNet">
        <link:definition>060500 - Disclosure - Intangible assets, net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/AccruedLiabilities" id="AccruedLiabilities">
        <link:definition>060600 - Disclosure - Accrued liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/RetirementSavingsPlan" id="RetirementSavingsPlan">
        <link:definition>060700 - Disclosure - Retirement savings plan</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/Borrowings" id="Borrowings">
        <link:definition>060800 - Disclosure - Borrowings</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/StockIncentivePlans" id="StockIncentivePlans">
        <link:definition>060900 - Disclosure - Stock incentive plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxes" id="IncomeTaxes">
        <link:definition>061000 - 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://transact-tech.com/role/EarningsPerShare" id="EarningsPerShare">
        <link:definition>061100 - Disclosure - Earnings per share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/StockRepurchaseProgram" id="StockRepurchaseProgram">
        <link:definition>061200 - Disclosure - Stock repurchase program</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/GeographicAreaInformation" id="GeographicAreaInformation">
        <link:definition>061300 - Disclosure - Geographic area 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://transact-tech.com/role/Leases" id="Leases">
        <link:definition>061400 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited" id="QuarterlyResultsOfOperationsUnaudited">
        <link:definition>061500 - Disclosure - Quarterly results of operations (unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
        <link:definition>061600 - Disclosure - Related party transactions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SubsequentEvents" id="SubsequentEvents">
        <link:definition>061700 - Disclosure - Subsequent events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/InsiderTradingArrangements" id="InsiderTradingArrangements">
        <link:definition>061800 - Disclosure - Insider Trading Arrangements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>070200 - Disclosure - Summary of significant accounting policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" id="SummaryOfSignificantAccountingPoliciesTables">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>080200 - Disclosure - Summary of significant accounting policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/InventoriesTables" id="InventoriesTables">
        <!--Parent Role: Inventories-->
        <link:definition>080300 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/FixedAssetsNetTables" id="FixedAssetsNetTables">
        <!--Parent Role: Fixed assets, net-->
        <link:definition>080400 - Disclosure - Fixed assets, net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IntangibleAssetsNetTables" id="IntangibleAssetsNetTables">
        <!--Parent Role: Intangible assets, net-->
        <link:definition>080500 - Disclosure - Intangible assets, net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/AccruedLiabilitiesTables" id="AccruedLiabilitiesTables">
        <!--Parent Role: Accrued liabilities-->
        <link:definition>080600 - Disclosure - Accrued liabilities (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/StockIncentivePlansTables" id="StockIncentivePlansTables">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>080900 - Disclosure - Stock incentive plans (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://transact-tech.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
        <!--Parent Role: Income taxes-->
        <link:definition>081000 - 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://transact-tech.com/role/EarningsPerShareTables" id="EarningsPerShareTables">
        <!--Parent Role: Earnings per share-->
        <link:definition>081100 - Disclosure - Earnings per share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/GeographicAreaInformationTables" id="GeographicAreaInformationTables">
        <!--Parent Role: Geographic area information-->
        <link:definition>081300 - Disclosure - Geographic area information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/LeasesTables" id="LeasesTables">
        <!--Parent Role: Leases-->
        <link:definition>081400 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables" id="QuarterlyResultsOfOperationsUnauditedTables">
        <!--Parent Role: Quarterly results of operations (unaudited)-->
        <link:definition>081500 - Disclosure - Quarterly results of operations (unaudited) (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://transact-tech.com/role/DescriptionOfBusinessDetails" id="DescriptionOfBusinessDetails">
        <!--Parent Role: Description of business-->
        <link:definition>090100 - Disclosure - Description of business (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" id="SummaryOfSignificantAccountingPoliciesSegmentReportingDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090200 - Disclosure - Summary of significant accounting policies, Segment reporting (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails" id="SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090202 - Disclosure - Summary of significant accounting policies, Accounts receivable and 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" id="SummaryOfSignificantAccountingPoliciesFixedAssetsDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090204 - Disclosure - Summary of significant accounting policies, Fixed 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails" id="SummaryOfSignificantAccountingPoliciesLeasesDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090206 - Disclosure - Summary of significant accounting policies, 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" id="SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090208 - Disclosure - Summary of significant accounting policies, Goodwill and intangible assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" id="SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090210 - Disclosure - Summary of significant accounting policies, Revenue recognition - Disaggregation of 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" id="SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090212 - Disclosure - Summary of significant accounting policies, Revenue recognition - Contract balances (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" id="SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090214 - Disclosure - Summary of significant accounting policies, Revenue recognition - Remaining performance 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault" id="SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault">
        <link:definition>090214 - Disclosure - Summary of significant accounting policies, Revenue recognition - Remaining performance obligations (Details)Default</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" id="SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090216 - Disclosure - Summary of significant accounting policies, Concentration of credit risk (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" id="SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090218 - Disclosure - Summary of significant accounting policies, Engineering, design and product development (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails" id="SummaryOfSignificantAccountingPoliciesAdvertisingDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090220 - Disclosure - Summary of significant accounting policies, Advertising (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://transact-tech.com/role/InventoriesDetails" id="InventoriesDetails">
        <!--Parent Role: Inventories-->
        <link:definition>090300 - Disclosure - Inventories (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://transact-tech.com/role/FixedAssetsNetDetails" id="FixedAssetsNetDetails">
        <!--Parent Role: Fixed assets, net-->
        <link:definition>090400 - Disclosure - Fixed assets, net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IntangibleAssetsNetDetails" id="IntangibleAssetsNetDetails">
        <!--Parent Role: Intangible assets, net-->
        <link:definition>090500 - Disclosure - Intangible assets, net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/AccruedLiabilitiesDetails" id="AccruedLiabilitiesDetails">
        <!--Parent Role: Accrued liabilities-->
        <link:definition>090600 - Disclosure - Accrued 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://transact-tech.com/role/RetirementSavingsPlanDetails" id="RetirementSavingsPlanDetails">
        <!--Parent Role: Retirement savings plan-->
        <link:definition>090700 - Disclosure - Retirement savings plan (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://transact-tech.com/role/BorrowingsDetails" id="BorrowingsDetails">
        <!--Parent Role: Borrowings-->
        <link:definition>090800 - Disclosure - Borrowings (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://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails" id="StockIncentivePlansStockIncentivePlansDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>090900 - Disclosure - Stock incentive plans, Stock incentive plans (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://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" id="StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>090902 - Disclosure - Stock incentive plans, Assumptions used in option valuation calculations (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://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails" id="StockIncentivePlansSharebasedCompensationExpenseDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>090904 - Disclosure - Stock incentive plans, Share-based compensation 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://transact-tech.com/role/StockIncentivePlansStockOptionsDetails" id="StockIncentivePlansStockOptionsDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>090906 - Disclosure - Stock incentive plans, Stock options (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails" id="IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091000 - Disclosure - Income taxes, Components of income tax expense (benefit) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" id="IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091002 - 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://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" id="IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091004 - Disclosure - Income taxes, Valuation allowance on deferred tax 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://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" id="IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091006 - Disclosure - Income taxes, Statutory to effective 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://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" id="IncomeTaxesUnrecognizedTaxBenefitsDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091008 - 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://transact-tech.com/role/EarningsPerShareDetails" id="EarningsPerShareDetails">
        <!--Parent Role: Earnings per share-->
        <link:definition>091100 - Disclosure - Earnings per share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/StockRepurchaseProgramDetails" id="StockRepurchaseProgramDetails">
        <!--Parent Role: Stock repurchase program-->
        <link:definition>091200 - Disclosure - Stock repurchase program (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://transact-tech.com/role/GeographicAreaInformationDetails" id="GeographicAreaInformationDetails">
        <!--Parent Role: Geographic area information-->
        <link:definition>091300 - Disclosure - Geographic area 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://transact-tech.com/role/LeasesDetails" id="LeasesDetails">
        <!--Parent Role: Leases-->
        <link:definition>091400 - Disclosure - 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://transact-tech.com/role/LeasesDetailsCalc2" id="LeasesDetailsCalc2">
        <!--Parent Role: Leases (Details)-->
        <link:definition>091402 - Disclosure - Leases (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://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails" id="QuarterlyResultsOfOperationsUnauditedDetails">
        <!--Parent Role: Quarterly results of operations (unaudited)-->
        <link:definition>091500 - Disclosure - Quarterly results of operations (unaudited) (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://transact-tech.com/role/RelatedPartyTransactionsDetails" id="RelatedPartyTransactionsDetails">
        <!--Parent Role: Related party transactions-->
        <link:definition>091600 - Disclosure - Related party transactions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/naics/2023" schemaLocation="https://xbrl.sec.gov/naics/2023/naics-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xs:import namespace="http://www.xbrl.org/2004/ref" schemaLocation="http://www.xbrl.org/2004/ref-2004-08-10.xsd" />
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xs:import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <xs:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
  <xs:import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
  <xs:element name="DescriptionOfBusinessAbstract" id="tact_DescriptionOfBusinessAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NumberOfSoftwareSolutions" id="tact_NumberOfSoftwareSolutions" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" />
  <xs:element name="ContractWithCustomerRevenueRecognized" id="tact_ContractWithCustomerRevenueRecognized" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="ContractWithCustomerAssetLiabilityNet" id="tact_ContractWithCustomerAssetLiabilityNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" id="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="TransactServicesGroupMember" id="tact_TransactServicesGroupMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FoodServiceTechnologyMember" id="tact_FoodServiceTechnologyMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="CasinoAndGamingMember" id="tact_CasinoAndGamingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PosAutomationAndBankingMember" id="tact_PosAutomationAndBankingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="InternationalMember" id="tact_InternationalMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FurnitureAndOfficeEquipmentMember" id="tact_FurnitureAndOfficeEquipmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ComputerSoftwareAndEquipmentMember" id="tact_ComputerSoftwareAndEquipmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" id="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="FacilityInLasVegasNevadaMember" id="tact_FacilityInLasVegasNevadaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TheBrightGroupMember" id="tact_TheBrightGroupMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="InternationalGameTechnologyPlcMember" id="tact_InternationalGameTechnologyPlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FixedAssetsExcludingConstructionInProcessMember" id="tact_FixedAssetsExcludingConstructionInProcessMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="RelatedPartyTransactionAbstract" id="tact_RelatedPartyTransactionAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TheOneGroupHospitalityIncMember" id="tact_TheOneGroupHospitalityIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="OperatingLossCarryforwardsNotSubjectToExpiration" id="tact_OperatingLossCarryforwardsNotSubjectToExpiration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="OperatingLossCarryforwardsSubjectToExpiration" id="tact_OperatingLossCarryforwardsSubjectToExpiration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="TaxCreditCarryforwardAmountSubjectToExpiration" id="tact_TaxCreditCarryforwardAmountSubjectToExpiration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" id="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="PacificRimMember" id="tact_PacificRimMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" id="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" id="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" id="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" id="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventory" id="tact_DebtInstrumentFinancialCovenantEligibleInventory" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" />
  <xs:element name="RevolvingCreditFacilitySienaLendingGroupLlcMember" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="EquityIncentivePlan2014Member" id="tact_EquityIncentivePlan2014Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" id="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="EquityAwardsAggregateIntrinsicValueAbstract" id="tact_EquityAwardsAggregateIntrinsicValueAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="EquityAwardsWeightedAverageRemainingContractualTermAbstract" id="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" id="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>tact-20231231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20231231.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#AccruedLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfComprehensiveIncomeLoss" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedBalanceSheets" />
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="OtherAssetsCurrent" xlink:title="calculation: AssetsCurrent to OtherAssetsCurrent" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="PrepaidTaxes" xlink:title="calculation: AssetsCurrent to PrepaidTaxes" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="calculation: AssetsCurrent to CashAndCashEquivalentsAtCarryingValue" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="AccountsReceivableNetCurrent" xlink:title="calculation: AssetsCurrent to AccountsReceivableNetCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="InventoryNet" xlink:title="calculation: AssetsCurrent to InventoryNet" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NontradeReceivablesCurrent" xlink:label="NontradeReceivablesCurrent" xlink:title="NontradeReceivablesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="NontradeReceivablesCurrent" xlink:title="calculation: AssetsCurrent to NontradeReceivablesCurrent" order="5.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="AssetsCurrent" xlink:title="calculation: Assets to AssetsCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="OtherAssetsNoncurrent" xlink:title="calculation: AssetsNoncurrent to OtherAssetsNoncurrent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="calculation: AssetsNoncurrent to DeferredIncomeTaxAssetsNet" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="IntangibleAssetsNetExcludingGoodwill" xlink:title="calculation: AssetsNoncurrent to IntangibleAssetsNetExcludingGoodwill" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="Goodwill" xlink:title="Goodwill" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="Goodwill" xlink:title="calculation: AssetsNoncurrent to Goodwill" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="calculation: AssetsNoncurrent to PropertyPlantAndEquipmentNet" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="calculation: AssetsNoncurrent to OperatingLeaseRightOfUseAsset" order="5.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="AssetsNoncurrent" xlink:title="calculation: Assets to AssetsNoncurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="TreasuryStockValue" xlink:title="calculation: StockholdersEquity to TreasuryStockValue" order="8.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="CommonStockValue" xlink:title="calculation: StockholdersEquity to CommonStockValue" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="calculation: StockholdersEquity to RetainedEarningsAccumulatedDeficit" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AdditionalPaidInCapitalCommonStock" xlink:title="calculation: StockholdersEquity to AdditionalPaidInCapitalCommonStock" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="calculation: StockholdersEquity to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="PreferredStockValue" xlink:title="PreferredStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="PreferredStockValue" xlink:title="calculation: StockholdersEquity to PreferredStockValue" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="StockholdersEquity" xlink:title="calculation: LiabilitiesAndStockholdersEquity to StockholdersEquity" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="Liabilities" xlink:title="Liabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to OtherLiabilitiesNoncurrent" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to ContractWithCustomerLiabilityNoncurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to OperatingLeaseLiabilityNoncurrent" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Liabilities" xlink:to="LiabilitiesNoncurrent" xlink:title="calculation: Liabilities to LiabilitiesNoncurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccountsPayableCurrent" xlink:title="calculation: LiabilitiesCurrent to AccountsPayableCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccruedLiabilitiesCurrent" xlink:title="calculation: LiabilitiesCurrent to AccruedLiabilitiesCurrent" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to ContractWithCustomerLiabilityCurrent" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="LinesOfCreditCurrent" xlink:title="LinesOfCreditCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="LinesOfCreditCurrent" xlink:title="calculation: LiabilitiesCurrent to LinesOfCreditCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to OperatingLeaseLiabilityCurrent" order="3.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Liabilities" xlink:to="LiabilitiesCurrent" xlink:title="calculation: Liabilities to LiabilitiesCurrent" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="Liabilities" xlink:title="calculation: LiabilitiesAndStockholdersEquity to Liabilities" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfOperations">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeDomesticDeposits" xlink:label="InterestIncomeDomesticDeposits" xlink:title="InterestIncomeDomesticDeposits" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="InterestIncomeDomesticDeposits" xlink:title="calculation: NonoperatingIncomeExpense to InterestIncomeDomesticDeposits" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="InterestExpense" xlink:title="InterestExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="InterestExpense" xlink:title="calculation: NonoperatingIncomeExpense to InterestExpense" order="5.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="calculation: NonoperatingIncomeExpense to OtherNonoperatingIncomeExpense" order="3.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="NonoperatingIncomeExpense" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to NonoperatingIncomeExpense" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="calculation: GrossProfit to RevenueFromContractWithCustomerExcludingAssessedTax" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="CostOfRevenue" xlink:title="calculation: GrossProfit to CostOfRevenue" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="GrossProfit" xlink:title="calculation: OperatingIncomeLoss to GrossProfit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="GeneralAndAdministrativeExpense" xlink:title="calculation: OperatingExpenses to GeneralAndAdministrativeExpense" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="ResearchAndDevelopmentExpense" xlink:title="calculation: OperatingExpenses to ResearchAndDevelopmentExpense" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="SellingAndMarketingExpense" xlink:title="calculation: OperatingExpenses to SellingAndMarketingExpense" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="OperatingExpenses" xlink:title="calculation: OperatingIncomeLoss to OperatingExpenses" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="OperatingIncomeLoss" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to OperatingIncomeLoss" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="calculation: NetIncomeLoss to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeTaxExpenseBenefit" xlink:title="calculation: NetIncomeLoss to IncomeTaxExpenseBenefit" order="2.0" weight="-1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" xlink:title="ComprehensiveIncomeNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="NetIncomeLoss" xlink:title="calculation: ComprehensiveIncomeNetOfTax to NetIncomeLoss" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="calculation: ComprehensiveIncomeNetOfTax to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="4.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="PaymentsOfLoanCosts" xlink:title="PaymentsOfLoanCosts" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="PaymentsOfLoanCosts" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to PaymentsOfLoanCosts" order="9.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="ProceedsFromLinesOfCredit" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to ProceedsFromLinesOfCredit" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInFinancingActivities" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to PaymentsToAcquirePropertyPlantAndEquipment" order="3.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInInvestingActivities" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="ForeignCurrencyTransactionGainLossUnrealized" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to ForeignCurrencyTransactionGainLossUnrealized" order="17.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfProperty" xlink:label="GainLossOnSaleOfProperty" xlink:title="GainLossOnSaleOfProperty" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="GainLossOnSaleOfProperty" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to GainLossOnSaleOfProperty" order="6.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="ShareBasedCompensation" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to ShareBasedCompensation" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="20.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="DepreciationAndAmortization" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to DepreciationAndAmortization" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="NetIncomeLoss" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to NetIncomeLoss" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInInventories" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInInventories" order="12.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsPayable" order="15.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherOperatingAssets" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherOperatingAssets" order="14.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to DeferredIncomeTaxExpenseBenefit" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInPrepaidTaxes" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInPrepaidTaxes" order="13.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="IncreaseDecreaseInOtherReceivables" xlink:title="IncreaseDecreaseInOtherReceivables" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherReceivables" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherReceivables" order="7.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsReceivable" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsReceivable" order="11.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInOperatingActivities" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails">
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityCurrent" order="4.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerAssetNetNoncurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerAssetNetNoncurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" order="3.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerAssetNetCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerAssetNetCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityNoncurrent" order="5.0" weight="-1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryFinishedGoodsNetOfReserves" xlink:title="calculation: InventoryNet to InventoryFinishedGoodsNetOfReserves" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="calculation: InventoryNet to InventoryRawMaterialsAndSuppliesNetOfReserves" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="AccruedProfessionalFeesCurrent" xlink:title="AccruedProfessionalFeesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesCurrent" xlink:to="AccruedProfessionalFeesCurrent" xlink:title="calculation: AccruedLiabilitiesCurrent to AccruedProfessionalFeesCurrent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesCurrent" xlink:to="TaxesPayableCurrent" xlink:title="calculation: AccruedLiabilitiesCurrent to TaxesPayableCurrent" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="OtherLiabilitiesCurrent" xlink:title="OtherLiabilitiesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesCurrent" xlink:to="OtherLiabilitiesCurrent" xlink:title="calculation: AccruedLiabilitiesCurrent to OtherLiabilitiesCurrent" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesCurrent" xlink:to="EmployeeRelatedLiabilitiesCurrent" xlink:title="calculation: AccruedLiabilitiesCurrent to EmployeeRelatedLiabilitiesCurrent" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="CurrentForeignTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to CurrentForeignTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to CurrentStateAndLocalTaxExpenseBenefit" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to DeferredFederalIncomeTaxExpenseBenefit" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="CurrentFederalTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to CurrentFederalTaxExpenseBenefit" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to DeferredStateAndLocalIncomeTaxExpenseBenefit" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to DeferredForeignIncomeTaxExpenseBenefit" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentFederalTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentFederalTaxExpenseBenefit" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentStateAndLocalTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentForeignTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentForeignTaxExpenseBenefit" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredFederalIncomeTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredStateAndLocalIncomeTaxExpenseBenefit" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredForeignIncomeTaxExpenseBenefit" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="9.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsInventory" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsInventory" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsOperatingLossCarryforwardsDomestic" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="DeferredTaxAssetsOther" xlink:title="DeferredTaxAssetsOther" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsOther" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsOther" order="13.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxCreditCarryforwardsResearch" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsOperatingLossCarryforwardsForeign" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="10.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:title="DeferredTaxAssetsInProcessResearchAndDevelopment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsInProcessResearchAndDevelopment" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="DeferredTaxAssetsDeferredIncome" xlink:title="DeferredTaxAssetsDeferredIncome" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsDeferredIncome" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsDeferredIncome" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" order="14.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" order="12.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsNet" xlink:to="DeferredTaxAssetsGross" xlink:title="calculation: DeferredTaxAssetsNet to DeferredTaxAssetsGross" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsNet" xlink:to="DeferredTaxAssetsValuationAllowance" xlink:title="calculation: DeferredTaxAssetsNet to DeferredTaxAssetsValuationAllowance" order="1.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="DeferredTaxAssetsNet" xlink:title="calculation: DeferredTaxAssetsLiabilitiesNet to DeferredTaxAssetsNet" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="DeferredTaxLiabilities" xlink:title="DeferredTaxLiabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxLiabilities" xlink:to="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="calculation: DeferredTaxLiabilities to DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="DeferredTaxLiabilitiesOther" xlink:title="DeferredTaxLiabilitiesOther" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxLiabilities" xlink:to="DeferredTaxLiabilitiesOther" xlink:title="calculation: DeferredTaxLiabilities to DeferredTaxLiabilitiesOther" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="DeferredTaxLiabilities" xlink:title="calculation: DeferredTaxAssetsLiabilitiesNet to DeferredTaxLiabilities" order="1.0" weight="-1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:label="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:title="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" order="11.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="9.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="10.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationTaxContingencies" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:title="EffectiveIncomeTaxRateReconciliationFdiiPercent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationFdiiPercent" order="12.0" weight="-1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="calculation: WeightedAverageNumberOfDilutedSharesOutstanding to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="calculation: WeightedAverageNumberOfDilutedSharesOutstanding to WeightedAverageNumberOfSharesOutstandingBasic" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="OperatingLeaseLiability" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to OperatingLeaseLiability" order="1.0" weight="1.0" />
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>tact-20231231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:t1="http://xbrl.org/2005/xbrldt">
  <link:roleRef roleURI="http://transact-tech.com/role/RelatedPartyTransactionsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#RelatedPartyTransactionsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#QuarterlyResultsOfOperationsUnauditedDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20231231.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformationDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#GeographicAreaInformationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockRepurchaseProgramDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockRepurchaseProgramDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansStockOptionsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansSharebasedCompensationExpenseDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansStockIncentivePlansDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/BorrowingsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#BorrowingsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RetirementSavingsPlanDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#RetirementSavingsPlanDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#AccruedLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNetDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IntangibleAssetsNetDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNetDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#FixedAssetsNetDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesAdvertisingDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesLeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/DescriptionOfBusinessDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#DescriptionOfBusinessDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables" xlink:type="simple" xlink:href="tact-20231231.xsd#QuarterlyResultsOfOperationsUnauditedTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#LeasesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformationTables" xlink:type="simple" xlink:href="tact-20231231.xsd#GeographicAreaInformationTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tact-20231231.xsd#EarningsPerShareTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansTables" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#AccruedLiabilitiesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNetTables" xlink:type="simple" xlink:href="tact-20231231.xsd#IntangibleAssetsNetTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNetTables" xlink:type="simple" xlink:href="tact-20231231.xsd#FixedAssetsNetTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#InventoriesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tact-20231231.xsd#SubsequentEvents" />
  <link:roleRef roleURI="http://transact-tech.com/role/RelatedPartyTransactions" xlink:type="simple" xlink:href="tact-20231231.xsd#RelatedPartyTransactions" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="tact-20231231.xsd#QuarterlyResultsOfOperationsUnaudited" />
  <link:roleRef roleURI="http://transact-tech.com/role/Leases" xlink:type="simple" xlink:href="tact-20231231.xsd#Leases" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformation" xlink:type="simple" xlink:href="tact-20231231.xsd#GeographicAreaInformation" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockRepurchaseProgram" xlink:type="simple" xlink:href="tact-20231231.xsd#StockRepurchaseProgram" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tact-20231231.xsd#EarningsPerShare" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxes" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxes" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlans" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlans" />
  <link:roleRef roleURI="http://transact-tech.com/role/Borrowings" xlink:type="simple" xlink:href="tact-20231231.xsd#Borrowings" />
  <link:roleRef roleURI="http://transact-tech.com/role/RetirementSavingsPlan" xlink:type="simple" xlink:href="tact-20231231.xsd#RetirementSavingsPlan" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilities" xlink:type="simple" xlink:href="tact-20231231.xsd#AccruedLiabilities" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNet" xlink:type="simple" xlink:href="tact-20231231.xsd#IntangibleAssetsNet" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNet" xlink:type="simple" xlink:href="tact-20231231.xsd#FixedAssetsNet" />
  <link:roleRef roleURI="http://transact-tech.com/role/Inventories" xlink:type="simple" xlink:href="tact-20231231.xsd#Inventories" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/DescriptionOfBusiness" xlink:type="simple" xlink:href="tact-20231231.xsd#DescriptionOfBusiness" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfChangesInShareholdersEquity" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfComprehensiveIncomeLoss" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tact-20231231.xsd#DocumentAndEntityInformation" />
  <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:type="extended" xlink:role="http://transact-tech.com/role/DocumentAndEntityInformation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsAbstract" xlink:title="definition: StatementLineItems to AssetsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="definition: StatementLineItems to LiabilitiesAndStockholdersEquityAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesCurrentAbstract" xlink:title="definition: StatementLineItems to LiabilitiesCurrentAbstract" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="definition: StatementLineItems to ContractWithCustomerLiabilityNoncurrent" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="definition: StatementLineItems to OperatingLeaseLiabilityNoncurrent" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="definition: StatementLineItems to OtherLiabilitiesNoncurrent" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesNoncurrent" xlink:title="definition: StatementLineItems to LiabilitiesNoncurrent" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="Liabilities" xlink:title="Liabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="Liabilities" xlink:title="definition: StatementLineItems to Liabilities" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommitmentsAndContingencies" xlink:title="definition: StatementLineItems to CommitmentsAndContingencies" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquityAbstract" xlink:title="definition: StatementLineItems to StockholdersEquityAbstract" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquity" xlink:title="definition: StatementLineItems to LiabilitiesAndStockholdersEquity" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="PreferredStockValue" xlink:title="PreferredStockValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockValue" xlink:title="definition: StatementLineItems to PreferredStockValue" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockValue" xlink:title="definition: StatementLineItems to CommonStockValue" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdditionalPaidInCapitalCommonStock" xlink:title="definition: StatementLineItems to AdditionalPaidInCapitalCommonStock" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="definition: StatementLineItems to RetainedEarningsAccumulatedDeficit" order="15.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="definition: StatementLineItems to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="16.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="TreasuryStockValue" xlink:title="definition: StatementLineItems to TreasuryStockValue" order="17.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquity" xlink:title="definition: StatementLineItems to StockholdersEquity" order="18.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="LinesOfCreditCurrent" xlink:title="LinesOfCreditCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LinesOfCreditCurrent" xlink:title="definition: StatementLineItems to LinesOfCreditCurrent" order="19.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccountsPayableCurrent" xlink:title="definition: StatementLineItems to AccountsPayableCurrent" order="20.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccruedLiabilitiesCurrent" xlink:title="definition: StatementLineItems to AccruedLiabilitiesCurrent" order="21.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="definition: StatementLineItems to OperatingLeaseLiabilityCurrent" order="22.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="definition: StatementLineItems to ContractWithCustomerLiabilityCurrent" order="23.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesCurrent" xlink:title="definition: StatementLineItems to LiabilitiesCurrent" order="24.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsCurrentAbstract" xlink:title="definition: StatementLineItems to AssetsCurrentAbstract" order="25.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="definition: StatementLineItems to PropertyPlantAndEquipmentNet" order="26.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="definition: StatementLineItems to OperatingLeaseRightOfUseAsset" order="27.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="Goodwill" xlink:title="Goodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="Goodwill" xlink:title="definition: StatementLineItems to Goodwill" order="28.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="definition: StatementLineItems to DeferredIncomeTaxAssetsNet" order="29.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IntangibleAssetsNetExcludingGoodwill" xlink:title="definition: StatementLineItems to IntangibleAssetsNetExcludingGoodwill" order="30.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherAssetsNoncurrent" xlink:title="definition: StatementLineItems to OtherAssetsNoncurrent" order="31.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsNoncurrent" xlink:title="definition: StatementLineItems to AssetsNoncurrent" order="32.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="Assets" xlink:title="definition: StatementLineItems to Assets" order="33.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="definition: StatementLineItems to CashAndCashEquivalentsAtCarryingValue" order="34.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccountsReceivableNetCurrent" xlink:title="definition: StatementLineItems to AccountsReceivableNetCurrent" order="35.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NontradeReceivablesCurrent" xlink:label="NontradeReceivablesCurrent" xlink:title="NontradeReceivablesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NontradeReceivablesCurrent" xlink:title="definition: StatementLineItems to NontradeReceivablesCurrent" order="36.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="InventoryNet" xlink:title="definition: StatementLineItems to InventoryNet" order="37.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PrepaidTaxes" xlink:title="definition: StatementLineItems to PrepaidTaxes" order="38.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherAssetsCurrent" xlink:title="definition: StatementLineItems to OtherAssetsCurrent" order="39.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsCurrent" xlink:title="definition: StatementLineItems to AssetsCurrent" order="40.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="41.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementClassOfStockAxis" xlink:title="definition: StatementTable to StatementClassOfStockAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain" xlink:title="definition: StatementClassOfStockAxis to ClassOfStockDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain_2" xlink:title="ClassOfStockDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain_2" xlink:title="definition: StatementClassOfStockAxis to ClassOfStockDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ClassOfStockDomain" xlink:to="SeriesAPreferredStockMember" xlink:title="definition: ClassOfStockDomain to SeriesAPreferredStockMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsAbstract" xlink:title="definition: StatementLineItems to AssetsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="definition: StatementLineItems to LiabilitiesAndStockholdersEquityAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquityAbstract" xlink:title="definition: StatementLineItems to StockholdersEquityAbstract" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="PreferredStockParOrStatedValuePerShare" xlink:title="PreferredStockParOrStatedValuePerShare" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockParOrStatedValuePerShare" xlink:title="definition: StatementLineItems to PreferredStockParOrStatedValuePerShare" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="PreferredStockSharesAuthorized" xlink:title="PreferredStockSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockSharesAuthorized" xlink:title="definition: StatementLineItems to PreferredStockSharesAuthorized" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="PreferredStockSharesIssued" xlink:title="PreferredStockSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockSharesIssued" xlink:title="definition: StatementLineItems to PreferredStockSharesIssued" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="PreferredStockSharesOutstanding" xlink:title="PreferredStockSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockSharesOutstanding" xlink:title="definition: StatementLineItems to PreferredStockSharesOutstanding" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="definition: StatementLineItems to CommonStockParOrStatedValuePerShare" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockSharesAuthorized" xlink:title="definition: StatementLineItems to CommonStockSharesAuthorized" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockSharesIssued" xlink:title="definition: StatementLineItems to CommonStockSharesIssued" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockSharesOutstanding" xlink:title="definition: StatementLineItems to CommonStockSharesOutstanding" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="TreasuryStockCommonShares" xlink:title="definition: StatementLineItems to TreasuryStockCommonShares" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsCurrentAbstract" xlink:title="definition: StatementLineItems to AssetsCurrentAbstract" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="definition: StatementLineItems to AllowanceForDoubtfulAccountsReceivableCurrent" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="15.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementClassOfStockAxis" xlink:title="definition: StatementTable to StatementClassOfStockAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain" xlink:title="definition: StatementClassOfStockAxis to ClassOfStockDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain_2" xlink:title="ClassOfStockDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain_2" xlink:title="definition: StatementClassOfStockAxis to ClassOfStockDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ClassOfStockDomain" xlink:to="SeriesAPreferredStockMember" xlink:title="definition: ClassOfStockDomain to SeriesAPreferredStockMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="definition: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquity" xlink:title="definition: StatementLineItems to StockholdersEquity" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockSharesIssued" xlink:title="definition: StatementLineItems to CommonStockSharesIssued" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="StockIssuedDuringPeriodValueStockOptionsExercised" xlink:title="StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodValueStockOptionsExercised" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodValueStockOptionsExercised" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodSharesStockOptionsExercised" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:label="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="definition: StatementLineItems to StockGrantedDuringPeriodValueSharebasedCompensationForfeited" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="definition: StatementLineItems to SharesPaidForTaxWithholdingForShareBasedCompensation" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="definition: StatementLineItems to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="definition: StatementLineItems to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NetIncomeLoss" xlink:title="definition: StatementLineItems to NetIncomeLoss" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="13.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="definition: StatementTable to StatementEquityComponentsAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain_2" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain_2" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="CommonStockMember" xlink:title="definition: EquityComponentDomain to CommonStockMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AdditionalPaidInCapitalMember" xlink:title="definition: EquityComponentDomain to AdditionalPaidInCapitalMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="RetainedEarningsMember" xlink:title="definition: EquityComponentDomain to RetainedEarningsMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="TreasuryStockCommonMember" xlink:title="definition: EquityComponentDomain to TreasuryStockCommonMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="definition: EquityComponentDomain to AccumulatedOtherComprehensiveIncomeMember" order="5.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DescriptionOfBusiness" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Inventories" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNet" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNet" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilities" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RetirementSavingsPlan" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Borrowings" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlans" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxes" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShare" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockRepurchaseProgram" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Leases" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RelatedPartyTransactions" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SubsequentEvents" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNetTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNetTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformationTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DescriptionOfBusinessDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="OperatingExpensesAbstract" xlink:title="definition: DebtInstrumentLineItems to OperatingExpensesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="OperatingExpenses" xlink:title="definition: DebtInstrumentLineItems to OperatingExpenses" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentTable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="StatementScenarioAxis" xlink:title="StatementScenarioAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="StatementScenarioAxis" xlink:title="definition: DebtInstrumentTable to StatementScenarioAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="ScenarioUnspecifiedDomain" xlink:title="ScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementScenarioAxis" xlink:to="ScenarioUnspecifiedDomain" xlink:title="definition: StatementScenarioAxis to ScenarioUnspecifiedDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="ScenarioUnspecifiedDomain_2" xlink:title="ScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementScenarioAxis" xlink:to="ScenarioUnspecifiedDomain_2" xlink:title="definition: StatementScenarioAxis to ScenarioUnspecifiedDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="ScenarioForecastMember" xlink:title="ScenarioForecastMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ScenarioUnspecifiedDomain" xlink:to="ScenarioForecastMember" xlink:title="definition: ScenarioUnspecifiedDomain to ScenarioForecastMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentAbstract" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentUsefulLife" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentUsefulLife" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="Depreciation" xlink:title="Depreciation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="Depreciation" xlink:title="definition: PropertyPlantAndEquipmentLineItems to Depreciation" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="definition: PropertyPlantAndEquipmentLineItems to ScheduleOfPropertyPlantAndEquipmentTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ToolsDiesAndMoldsMember" xlink:label="ToolsDiesAndMoldsMember" xlink:title="ToolsDiesAndMoldsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ToolsDiesAndMoldsMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to ToolsDiesAndMoldsMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndOfficeEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FurnitureAndOfficeEquipmentMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ComputerSoftwareAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to ComputerSoftwareAndEquipmentMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to RangeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="AssetsAndLiabilitiesLesseeAbstract" xlink:title="AssetsAndLiabilitiesLesseeAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="AssetsAndLiabilitiesLesseeAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to AssetsAndLiabilitiesLesseeAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:label="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="definition: LesseeLeaseDescriptionLineItems to IncreaseDecreaseInOperatingLeaseRightOfUseAsset" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="definition: LesseeLeaseDescriptionLineItems to IncreaseDecreaseInOperatingLeaseLiability" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="LesseeOperatingLeaseRemainingLeaseTerm" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="definition: LesseeLeaseDescriptionLineItems to LesseeOperatingLeaseRemainingLeaseTerm" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LesseeLeaseDescriptionTable" xlink:title="definition: LesseeLeaseDescriptionLineItems to LesseeLeaseDescriptionTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="LesseeLeaseDescriptionTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: LesseeLeaseDescriptionTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FacilityInLasVegasNevadaMember" xlink:label="FacilityInLasVegasNevadaMember" xlink:title="FacilityInLasVegasNevadaMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FacilityInLasVegasNevadaMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FacilityInLasVegasNevadaMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="LesseeLeaseDescriptionTable" xlink:to="RangeAxis" xlink:title="definition: LesseeLeaseDescriptionTable to RangeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="definition: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerExcludingAssessedTax" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueTable" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="ProductOrServiceAxis" xlink:title="definition: DisaggregationOfRevenueTable to ProductOrServiceAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain" xlink:title="definition: ProductOrServiceAxis to ProductsAndServicesDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain_2" xlink:title="ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain_2" xlink:title="definition: ProductOrServiceAxis to ProductsAndServicesDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="FoodServiceTechnologyMember" xlink:title="definition: ProductsAndServicesDomain to FoodServiceTechnologyMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="PosAutomationAndBankingMember" xlink:title="definition: ProductsAndServicesDomain to PosAutomationAndBankingMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="CasinoAndGamingMember" xlink:title="definition: ProductsAndServicesDomain to CasinoAndGamingMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="TransactServicesGroupMember" xlink:title="definition: ProductsAndServicesDomain to TransactServicesGroupMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="definition: SegmentGeographicalDomain to InternationalMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligation" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligation" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="RisksAndUncertaintiesAbstract" xlink:title="definition: ConcentrationRiskLineItems to RisksAndUncertaintiesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="ConcentrationRiskPercentage1" xlink:title="definition: ConcentrationRiskLineItems to ConcentrationRiskPercentage1" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ConcentrationRiskLineItems" xlink:to="ConcentrationRiskTable" xlink:title="definition: ConcentrationRiskLineItems to ConcentrationRiskTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="definition: ConcentrationRiskTable to ConcentrationRiskByBenchmarkAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain_2" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain_2" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="AccountsReceivableMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to AccountsReceivableMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="definition: ConcentrationRiskTable to ConcentrationRiskByTypeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain_2" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain_2" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskTypeDomain" xlink:to="CustomerConcentrationRiskMember" xlink:title="definition: ConcentrationRiskTypeDomain to CustomerConcentrationRiskMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="MajorCustomersAxis" xlink:title="definition: ConcentrationRiskTable to MajorCustomersAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain" xlink:title="definition: MajorCustomersAxis to NameOfMajorCustomerDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain_2" xlink:title="NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain_2" xlink:title="definition: MajorCustomersAxis to NameOfMajorCustomerDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_InternationalGameTechnologyPlcMember" xlink:label="InternationalGameTechnologyPlcMember" xlink:title="InternationalGameTechnologyPlcMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="NameOfMajorCustomerDomain" xlink:to="InternationalGameTechnologyPlcMember" xlink:title="definition: NameOfMajorCustomerDomain to InternationalGameTechnologyPlcMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TheBrightGroupMember" xlink:label="TheBrightGroupMember" xlink:title="TheBrightGroupMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="NameOfMajorCustomerDomain" xlink:to="TheBrightGroupMember" xlink:title="definition: NameOfMajorCustomerDomain to TheBrightGroupMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNetDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetByTypeAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentGross" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="definition: PropertyPlantAndEquipmentLineItems to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNet" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="definition: PropertyPlantAndEquipmentLineItems to ScheduleOfPropertyPlantAndEquipmentTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndOfficeEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FurnitureAndOfficeEquipmentMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ComputerSoftwareAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to ComputerSoftwareAndEquipmentMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="LeaseholdImprovementsMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to LeaseholdImprovementsMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FixedAssetsExcludingConstructionInProcessMember" xlink:label="FixedAssetsExcludingConstructionInProcessMember" xlink:title="FixedAssetsExcludingConstructionInProcessMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FixedAssetsExcludingConstructionInProcessMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FixedAssetsExcludingConstructionInProcessMember" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="ConstructionInProgressMember" xlink:title="ConstructionInProgressMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ConstructionInProgressMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to ConstructionInProgressMember" order="6.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNetDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsNetAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="AmortizationOfIntangibleAssets" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to AmortizationOfIntangibleAssets" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:label="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:title="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="FiniteLivedIntangibleAssetsGross" xlink:title="FiniteLivedIntangibleAssetsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsGross" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsGross" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAccumulatedAmortization" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to ScheduleOfFiniteLivedIntangibleAssetsTable" order="8.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="definition: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsByMajorClassAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="definition: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain_2" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain_2" xlink:title="definition: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="TechnologyBasedIntangibleAssetsMember" xlink:title="TechnologyBasedIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="TechnologyBasedIntangibleAssetsMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to TechnologyBasedIntangibleAssetsMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="PatentsMember" xlink:title="PatentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="PatentsMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to PatentsMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RetirementSavingsPlanDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BorrowingsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityAbstract" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityMaximumBorrowingCapacity" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentBasisSpreadOnVariableRate1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentInterestRateStatedPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentInterestRateStatedPercentage" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DeferredFinanceCostsGross" xlink:title="definition: DebtInstrumentLineItems to DeferredFinanceCostsGross" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleAccountsReceivable" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventory" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityRemainingBorrowingCapacity" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:label="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:label="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" order="15.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="SecuredDebt" xlink:title="definition: DebtInstrumentLineItems to SecuredDebt" order="16.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentTable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentTable" order="17.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="definition: DebtInstrumentTable to DebtInstrumentAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain_2" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain_2" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentNameDomain" xlink:to="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="definition: DebtInstrumentNameDomain to RevolvingCreditFacilitySienaLendingGroupLlcMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="VariableRateAxis" xlink:title="definition: DebtInstrumentTable to VariableRateAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain" xlink:title="definition: VariableRateAxis to VariableRateDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain_2" xlink:title="VariableRateDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain_2" xlink:title="definition: VariableRateAxis to VariableRateDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="VariableRateDomain" xlink:to="PrimeRateMember" xlink:title="definition: VariableRateDomain to PrimeRateMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="VariableRateDomain" xlink:to="FederalFundsEffectiveSwapRateMember" xlink:title="definition: VariableRateDomain to FederalFundsEffectiveSwapRateMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="RangeAxis" xlink:title="definition: DebtInstrumentTable to RangeAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedArrangementsToObtainGoodsAndServicesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="8.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="definition: PlanNameAxis to PlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain_2" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain_2" xlink:title="definition: PlanNameAxis to PlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2014Member" xlink:title="definition: PlanNameDomain to EquityIncentivePlan2014Member" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to RangeAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedArrangementsToObtainGoodsAndServicesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="9.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="definition: PlanNameAxis to PlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain_2" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain_2" xlink:title="definition: PlanNameAxis to PlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2014Member" xlink:title="definition: PlanNameDomain to EquityIncentivePlan2014Member" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="ShareBasedCompensationAbstract" xlink:title="definition: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to ShareBasedCompensationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="definition: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to AllocatedShareBasedCompensationExpense" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="definition: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="definition: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="IncomeStatementLocationAxis" xlink:title="definition: ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable to IncomeStatementLocationAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain" xlink:title="definition: IncomeStatementLocationAxis to IncomeStatementLocationDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="IncomeStatementLocationDomain_2" xlink:title="IncomeStatementLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain_2" xlink:title="definition: IncomeStatementLocationAxis to IncomeStatementLocationDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="GeneralAndAdministrativeExpenseMember" xlink:title="GeneralAndAdministrativeExpenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeStatementLocationDomain" xlink:to="GeneralAndAdministrativeExpenseMember" xlink:title="definition: IncomeStatementLocationDomain to GeneralAndAdministrativeExpenseMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityAwardsAggregateIntrinsicValueAbstract" xlink:label="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="EquityAwardsAggregateIntrinsicValueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EquityAwardsAggregateIntrinsicValueAbstract" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:label="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="EquityAwardsWeightedAverageRemainingContractualTermAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EquityAwardsWeightedAverageRemainingContractualTermAbstract" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="ProceedsFromStockOptionsExercised" xlink:title="ProceedsFromStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ProceedsFromStockOptionsExercised" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ProceedsFromStockOptionsExercised" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" order="15.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="16.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="17.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" order="18.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="19.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="20.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" order="21.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="22.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" order="23.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" order="24.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" order="25.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" order="26.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" order="27.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" order="28.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="29.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="30.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="31.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" order="32.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" order="33.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="34.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" order="35.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="36.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="37.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to StockIssuedDuringPeriodSharesStockOptionsExercised" order="38.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" order="39.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" order="40.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="41.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="42.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="43.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="definition: PlanNameAxis to PlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain_2" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain_2" xlink:title="definition: PlanNameAxis to PlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="definition: PlanNameDomain to EquityIncentivePlan2005AndEquityIncentivePlan2014Member" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="OperatingLossCarryforwardsLineItems" xlink:title="OperatingLossCarryforwardsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="definition: OperatingLossCarryforwardsLineItems to IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_OperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="OperatingLossCarryforwardsNotSubjectToExpiration" xlink:title="OperatingLossCarryforwardsNotSubjectToExpiration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="OperatingLossCarryforwardsNotSubjectToExpiration" xlink:title="definition: OperatingLossCarryforwardsLineItems to OperatingLossCarryforwardsNotSubjectToExpiration" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="OperatingLossCarryforwardsSubjectToExpiration" xlink:title="OperatingLossCarryforwardsSubjectToExpiration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="OperatingLossCarryforwardsSubjectToExpiration" xlink:title="definition: OperatingLossCarryforwardsLineItems to OperatingLossCarryforwardsSubjectToExpiration" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TaxCreditCarryforwardAmountSubjectToExpiration" xlink:label="TaxCreditCarryforwardAmountSubjectToExpiration" xlink:title="TaxCreditCarryforwardAmountSubjectToExpiration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="TaxCreditCarryforwardAmountSubjectToExpiration" xlink:title="definition: OperatingLossCarryforwardsLineItems to TaxCreditCarryforwardAmountSubjectToExpiration" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="definition: OperatingLossCarryforwardsLineItems to IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="OperatingLossCarryforwardsTable" xlink:title="OperatingLossCarryforwardsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="OperatingLossCarryforwardsTable" xlink:title="definition: OperatingLossCarryforwardsLineItems to OperatingLossCarryforwardsTable" order="6.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="TaxCreditCarryforwardAxis" xlink:title="TaxCreditCarryforwardAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="OperatingLossCarryforwardsTable" xlink:to="TaxCreditCarryforwardAxis" xlink:title="definition: OperatingLossCarryforwardsTable to TaxCreditCarryforwardAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="TaxCreditCarryforwardNameDomain" xlink:title="TaxCreditCarryforwardNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="TaxCreditCarryforwardAxis" xlink:to="TaxCreditCarryforwardNameDomain" xlink:title="definition: TaxCreditCarryforwardAxis to TaxCreditCarryforwardNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="TaxCreditCarryforwardNameDomain_2" xlink:title="TaxCreditCarryforwardNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="TaxCreditCarryforwardAxis" xlink:to="TaxCreditCarryforwardNameDomain_2" xlink:title="definition: TaxCreditCarryforwardAxis to TaxCreditCarryforwardNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchMember" xlink:label="ResearchMember" xlink:title="ResearchMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TaxCreditCarryforwardNameDomain" xlink:to="ResearchMember" xlink:title="definition: TaxCreditCarryforwardNameDomain to ResearchMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="IncomeTaxAuthorityAxis" xlink:title="IncomeTaxAuthorityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="OperatingLossCarryforwardsTable" xlink:to="IncomeTaxAuthorityAxis" xlink:title="definition: OperatingLossCarryforwardsTable to IncomeTaxAuthorityAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="IncomeTaxAuthorityDomain" xlink:title="IncomeTaxAuthorityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="IncomeTaxAuthorityAxis" xlink:to="IncomeTaxAuthorityDomain" xlink:title="definition: IncomeTaxAuthorityAxis to IncomeTaxAuthorityDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="IncomeTaxAuthorityDomain_2" xlink:title="IncomeTaxAuthorityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="IncomeTaxAuthorityAxis" xlink:to="IncomeTaxAuthorityDomain_2" xlink:title="definition: IncomeTaxAuthorityAxis to IncomeTaxAuthorityDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="DomesticCountryMember" xlink:title="DomesticCountryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeTaxAuthorityDomain" xlink:to="DomesticCountryMember" xlink:title="definition: IncomeTaxAuthorityDomain to DomesticCountryMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="StateAndLocalJurisdictionMember" xlink:title="StateAndLocalJurisdictionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeTaxAuthorityDomain" xlink:to="StateAndLocalJurisdictionMember" xlink:title="definition: IncomeTaxAuthorityDomain to StateAndLocalJurisdictionMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="ValuationAndQualifyingAccountsDisclosureLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="MovementInValuationAllowancesAndReservesRollForward" xlink:title="MovementInValuationAllowancesAndReservesRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="MovementInValuationAllowancesAndReservesRollForward" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to MovementInValuationAllowancesAndReservesRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="ValuationAllowancesAndReservesBalance" xlink:title="ValuationAllowancesAndReservesBalance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="ValuationAllowancesAndReservesBalance" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to ValuationAllowancesAndReservesBalance" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="ValuationAllowancesAndReservesDeductions" xlink:title="ValuationAllowancesAndReservesDeductions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="ValuationAllowancesAndReservesDeductions" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to ValuationAllowancesAndReservesDeductions" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="ValuationAllowancesAndReservesChargedToCostAndExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to ValuationAllowancesAndReservesChargedToCostAndExpense" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="ValuationAndQualifyingAccountsDisclosureTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to ValuationAndQualifyingAccountsDisclosureTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="ValuationAllowancesAndReservesTypeAxis" xlink:title="ValuationAllowancesAndReservesTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ValuationAndQualifyingAccountsDisclosureTable" xlink:to="ValuationAllowancesAndReservesTypeAxis" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureTable to ValuationAllowancesAndReservesTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="ValuationAllowancesAndReservesDomain" xlink:title="ValuationAllowancesAndReservesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ValuationAllowancesAndReservesTypeAxis" xlink:to="ValuationAllowancesAndReservesDomain" xlink:title="definition: ValuationAllowancesAndReservesTypeAxis to ValuationAllowancesAndReservesDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="ValuationAllowancesAndReservesDomain_2" xlink:title="ValuationAllowancesAndReservesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ValuationAllowancesAndReservesTypeAxis" xlink:to="ValuationAllowancesAndReservesDomain_2" xlink:title="definition: ValuationAllowancesAndReservesTypeAxis to ValuationAllowancesAndReservesDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xlink:label="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="ValuationAllowanceOperatingLossCarryforwardsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAllowancesAndReservesDomain" xlink:to="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="definition: ValuationAllowancesAndReservesDomain to ValuationAllowanceOperatingLossCarryforwardsMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="EarningsPerShareReconciliationAbstract" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to EarningsPerShareReconciliationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="definition: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain_2" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain_2" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="StockCompensationPlanMember" xlink:title="definition: AntidilutiveSecuritiesNameDomain to StockCompensationPlanMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockRepurchaseProgramDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentsGeographicalAreasAbstract" xlink:label="SegmentsGeographicalAreasAbstract" xlink:title="SegmentsGeographicalAreasAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="SegmentsGeographicalAreasAbstract" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to SegmentsGeographicalAreasAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to RevenueFromContractWithCustomerExcludingAssessedTax" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to PropertyPlantAndEquipmentNet" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="ConcentrationRiskPercentage1" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to ConcentrationRiskPercentage1" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="ConsolidationItemsAxis" xlink:title="ConsolidationItemsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConsolidationItemsAxis" xlink:title="definition: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConsolidationItemsAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="ConsolidationItemsDomain" xlink:title="ConsolidationItemsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConsolidationItemsAxis" xlink:to="ConsolidationItemsDomain" xlink:title="definition: ConsolidationItemsAxis to ConsolidationItemsDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="ConsolidationItemsDomain_2" xlink:title="ConsolidationItemsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConsolidationItemsAxis" xlink:to="ConsolidationItemsDomain_2" xlink:title="definition: ConsolidationItemsAxis to ConsolidationItemsDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ReportableGeographicalComponentsMember" xlink:label="ReportableGeographicalComponentsMember" xlink:title="ReportableGeographicalComponentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConsolidationItemsDomain" xlink:to="ReportableGeographicalComponentsMember" xlink:title="definition: ConsolidationItemsDomain to ReportableGeographicalComponentsMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="definition: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConcentrationRiskByBenchmarkAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain_2" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain_2" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="definition: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConcentrationRiskByTypeAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain_2" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain_2" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskTypeDomain" xlink:to="GeographicConcentrationRiskMember" xlink:title="definition: ConcentrationRiskTypeDomain to GeographicConcentrationRiskMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to StatementGeographicalAxis" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="definition: SegmentGeographicalDomain to InternationalMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="EuropeMember" xlink:title="EuropeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="EuropeMember" xlink:title="definition: SegmentGeographicalDomain to EuropeMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_PacificRimMember" xlink:label="PacificRimMember" xlink:title="PacificRimMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="PacificRimMember" xlink:title="definition: SegmentGeographicalDomain to PacificRimMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="definition: SegmentGeographicalDomain to CA" order="5.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RelatedPartyTransactionsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="RelatedPartyTransactionLineItems" xlink:title="RelatedPartyTransactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_RelatedPartyTransactionAbstract" xlink:label="RelatedPartyTransactionAbstract" xlink:title="RelatedPartyTransactionAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RelatedPartyTransactionLineItems" xlink:to="RelatedPartyTransactionAbstract" xlink:title="definition: RelatedPartyTransactionLineItems to RelatedPartyTransactionAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RelatedPartyTransactionLineItems" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="definition: RelatedPartyTransactionLineItems to RevenueFromContractWithCustomerExcludingAssessedTax" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RelatedPartyTransactionLineItems" xlink:to="AccountsReceivableNetCurrent" xlink:title="definition: RelatedPartyTransactionLineItems to AccountsReceivableNetCurrent" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:title="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RelatedPartyTransactionLineItems" xlink:to="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:title="definition: RelatedPartyTransactionLineItems to ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="RelatedPartyTransactionsByRelatedPartyAxis" xlink:title="RelatedPartyTransactionsByRelatedPartyAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="RelatedPartyTransactionsByRelatedPartyAxis" xlink:title="definition: ScheduleOfRelatedPartyTransactionsByRelatedPartyTable to RelatedPartyTransactionsByRelatedPartyAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="RelatedPartyDomain" xlink:title="RelatedPartyDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="RelatedPartyDomain" xlink:title="definition: RelatedPartyTransactionsByRelatedPartyAxis to RelatedPartyDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="RelatedPartyDomain_2" xlink:title="RelatedPartyDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="RelatedPartyDomain_2" xlink:title="definition: RelatedPartyTransactionsByRelatedPartyAxis to RelatedPartyDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="RelatedPartyMember" xlink:title="RelatedPartyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RelatedPartyDomain" xlink:to="RelatedPartyMember" xlink:title="definition: RelatedPartyDomain to RelatedPartyMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="CounterpartyNameAxis" xlink:title="CounterpartyNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="CounterpartyNameAxis" xlink:title="definition: ScheduleOfRelatedPartyTransactionsByRelatedPartyTable to CounterpartyNameAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="RepurchaseAgreementCounterpartyNameDomain" xlink:title="RepurchaseAgreementCounterpartyNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="CounterpartyNameAxis" xlink:to="RepurchaseAgreementCounterpartyNameDomain" xlink:title="definition: CounterpartyNameAxis to RepurchaseAgreementCounterpartyNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="RepurchaseAgreementCounterpartyNameDomain_2" xlink:title="RepurchaseAgreementCounterpartyNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="CounterpartyNameAxis" xlink:to="RepurchaseAgreementCounterpartyNameDomain_2" xlink:title="definition: CounterpartyNameAxis to RepurchaseAgreementCounterpartyNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TheOneGroupHospitalityIncMember" xlink:label="TheOneGroupHospitalityIncMember" xlink:title="TheOneGroupHospitalityIncMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RepurchaseAgreementCounterpartyNameDomain" xlink:to="TheOneGroupHospitalityIncMember" xlink:title="definition: RepurchaseAgreementCounterpartyNameDomain to TheOneGroupHospitalityIncMember" order="1.0" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>12
<FILENAME>tact-20231231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <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:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <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:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="InsiderTradingArrLineItems" xlink:title="InsiderTradingArrLineItems" />
    <link:label xlink:type="resource" xlink:label="ecd_InsiderTradingArrLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_InsiderTradingArrLineItems" xml:lang="en-US" id="ecd_InsiderTradingArrLineItems">Insider Trading Arrangements [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InsiderTradingArrLineItems" xlink:to="ecd_InsiderTradingArrLineItems" xlink:title="label: InsiderTradingArrLineItems to ecd_InsiderTradingArrLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="Rule10b51ArrAdoptedFlag" xlink:title="Rule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_Rule10b51ArrAdoptedFlag" xml:lang="en-US" id="ecd_Rule10b51ArrAdoptedFlag">Rule 10b5-1 Arrangement Adopted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag" xlink:title="label: Rule10b51ArrAdoptedFlag to ecd_Rule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_Rule10b51ArrAdoptedFlag_lbl1" xml:lang="en-US" id="ecd_Rule10b51ArrAdoptedFlag_lbl1">Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl1" xlink:title="label: Rule10b51ArrAdoptedFlag to ecd_Rule10b51ArrAdoptedFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="Rule10b51ArrTrmntdFlag" xlink:title="Rule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_Rule10b51ArrTrmntdFlag" xml:lang="en-US" id="ecd_Rule10b51ArrTrmntdFlag">Rule 10b5-1 Arrangement Terminated</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag" xlink:title="label: Rule10b51ArrTrmntdFlag to ecd_Rule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_Rule10b51ArrTrmntdFlag_lbl1" xml:lang="en-US" id="ecd_Rule10b51ArrTrmntdFlag_lbl1">Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl1" xlink:title="label: Rule10b51ArrTrmntdFlag to ecd_Rule10b51ArrTrmntdFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="NonRule10b51ArrAdoptedFlag" xlink:title="NonRule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_NonRule10b51ArrAdoptedFlag" xml:lang="en-US" id="ecd_NonRule10b51ArrAdoptedFlag">Non-Rule 10b5-1 Arrangement Adopted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag" xlink:title="label: NonRule10b51ArrAdoptedFlag to ecd_NonRule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xml:lang="en-US" id="ecd_NonRule10b51ArrAdoptedFlag_lbl1">Non-Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xlink:title="label: NonRule10b51ArrAdoptedFlag to ecd_NonRule10b51ArrAdoptedFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="NonRule10b51ArrTrmntdFlag" xlink:title="NonRule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_NonRule10b51ArrTrmntdFlag" xml:lang="en-US" id="ecd_NonRule10b51ArrTrmntdFlag">Non-Rule 10b5-1 Arrangement Terminated</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag" xlink:title="label: NonRule10b51ArrTrmntdFlag to ecd_NonRule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xml:lang="en-US" id="ecd_NonRule10b51ArrTrmntdFlag_lbl1">Non-Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xlink:title="label: NonRule10b51ArrTrmntdFlag to ecd_NonRule10b51ArrTrmntdFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:title="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xml:lang="en-US" id="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">Accrued liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:title="label: AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock to us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1" xlink:title="label: AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock to us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US" id="us-gaap_AccountsReceivableNetCurrent">Accounts receivable (net of allowance for expected credit losses of $768 and $351)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:title="label: AccountsReceivableNetCurrent to us-gaap_AccountsReceivableNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AccountsReceivableNetCurrent1" xml:lang="en-US" id="us-gaap_AccountsReceivableNetCurrent1">Accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent1" xlink:title="label: AccountsReceivableNetCurrent to us-gaap_AccountsReceivableNetCurrent1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">Accumulated amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="label: FiniteLivedIntangibleAssetsAccumulatedAmortization to us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xlink:title="label: FiniteLivedIntangibleAssetsAccumulatedAmortization to us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">Accumulated other comprehensive loss, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="label: AccumulatedOtherComprehensiveIncomeLossNetOfTax to us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">Less: Accumulated depreciation and amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapitalCommonStock" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapitalCommonStock">Additional paid-in capital</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:title="label: AdditionalPaidInCapitalCommonStock to us-gaap_AdditionalPaidInCapitalCommonStock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="Depreciation" xlink:title="Depreciation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Depreciation" xml:lang="en-US" id="us-gaap_Depreciation">Depreciation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Depreciation" xlink:to="us-gaap_Depreciation" xlink:title="label: Depreciation to us-gaap_Depreciation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfProperty" xlink:label="GainLossOnSaleOfProperty" xlink:title="GainLossOnSaleOfProperty" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnSaleOfProperty" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_GainLossOnSaleOfProperty" xml:lang="en-US" id="us-gaap_GainLossOnSaleOfProperty">Loss on the disposal of fixed assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnSaleOfProperty" xlink:to="us-gaap_GainLossOnSaleOfProperty" xlink:title="label: GainLossOnSaleOfProperty to us-gaap_GainLossOnSaleOfProperty" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnSaleOfProperty_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GainLossOnSaleOfProperty_lbl1" xml:lang="en-US" id="us-gaap_GainLossOnSaleOfProperty_lbl1">Gain (Loss) on Disposition of Oil and Gas and Timber Property</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnSaleOfProperty" xlink:to="us-gaap_GainLossOnSaleOfProperty_lbl1" xlink:title="label: GainLossOnSaleOfProperty to us-gaap_GainLossOnSaleOfProperty_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="AdvertisingExpense" xlink:title="AdvertisingExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdvertisingExpense" xml:lang="en-US" id="us-gaap_AdvertisingExpense">Advertising expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense" xlink:title="label: AdvertisingExpense to us-gaap_AdvertisingExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="AdvertisingCostsPolicyTextBlock" xlink:title="AdvertisingCostsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdvertisingCostsPolicyTextBlock" xml:lang="en-US" id="us-gaap_AdvertisingCostsPolicyTextBlock">Advertising</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:title="label: AdvertisingCostsPolicyTextBlock to us-gaap_AdvertisingCostsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">Balance, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent1" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent1">Balance, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent1" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent2" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent2">Allowance for expected credit losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent2" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AmortizationOfIntangibleAssets" xml:lang="en-US" id="us-gaap_AmortizationOfIntangibleAssets">Amortization expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:title="label: AmortizationOfIntangibleAssets to us-gaap_AmortizationOfIntangibleAssets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockCompensationPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockCompensationPlanMember" xml:lang="en-US" id="us-gaap_StockCompensationPlanMember">Stock Awards [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockCompensationPlanMember" xlink:to="us-gaap_StockCompensationPlanMember" xlink:title="label: StockCompensationPlanMember to us-gaap_StockCompensationPlanMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfFinancialPositionAbstract" xml:lang="en-US" id="us-gaap_StatementOfFinancialPositionAbstract">CONSOLIDATED BALANCE SHEETS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract" xlink:title="label: StatementOfFinancialPositionAbstract to us-gaap_StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasic" xml:lang="en-US" id="us-gaap_EarningsPerShareBasic">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic" xlink:title="label: EarningsPerShareBasic to us-gaap_EarningsPerShareBasic" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsAtCarryingValue">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:title="label: CashAndCashEquivalentsAtCarryingValue to us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="CashAndCashEquivalentsPolicyTextBlock" xlink:title="CashAndCashEquivalentsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsPolicyTextBlock">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:title="label: CashAndCashEquivalentsPolicyTextBlock to us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1" xlink:title="label: CashAndCashEquivalentsPolicyTextBlock to us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="InterestPaidNet" xlink:title="InterestPaidNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestPaidNet" xml:lang="en-US" id="us-gaap_InterestPaidNet">Interest paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestPaidNet" xlink:to="us-gaap_InterestPaidNet" xlink:title="label: InterestPaidNet to us-gaap_InterestPaidNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsReceivable" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsReceivable">Accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:title="label: IncreaseDecreaseInAccountsReceivable to us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1">Increase (Decrease) in Accounts Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsReceivable to us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInInventories" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInInventories_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories_lbl1">Increase (Decrease) in Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="IncreaseDecreaseInOtherReceivables" xlink:title="IncreaseDecreaseInOtherReceivables" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherReceivables" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherReceivables">Employee retention credit receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherReceivables" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:title="label: IncreaseDecreaseInOtherReceivables to us-gaap_IncreaseDecreaseInOtherReceivables" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherReceivables_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherReceivables_lbl1">Increase (Decrease) in Other Receivables</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherReceivables" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables_lbl1" xlink:title="label: IncreaseDecreaseInOtherReceivables to us-gaap_IncreaseDecreaseInOtherReceivables_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">Changes in operating assets and liabilities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="label: IncreaseDecreaseInOperatingCapitalAbstract to us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable">Accounts payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1">Increase (Decrease) in Accounts Payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesAuthorized" xml:lang="en-US" id="us-gaap_CommonStockSharesAuthorized">Common stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:title="label: CommonStockSharesAuthorized to us-gaap_CommonStockSharesAuthorized" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesIssued" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued">Common stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_CommonStockSharesIssued1" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued1">Ending balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued1" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued2" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_CommonStockSharesIssued2" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued2">Beginning balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued2" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesOutstanding" xml:lang="en-US" id="us-gaap_CommonStockSharesOutstanding">Common stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:title="label: CommonStockSharesOutstanding to us-gaap_CommonStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockValue" xml:lang="en-US" id="us-gaap_CommonStockValue">Common stock, $0.01 par value, 20,000,000 authorized at December 31, 2023 and 2022; 14,003,653 and 13,956,725 shares issued; 9,958,811 and 9,911,883 shares outstanding, at December 31, 2023 and 2022, respectively</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockValue" xlink:to="us-gaap_CommonStockValue" xlink:title="label: CommonStockValue to us-gaap_CommonStockValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">Current [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="label: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xlink:title="label: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">Deferred [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="label: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xlink:title="label: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:title="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xml:lang="en-US" id="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract">Deferred income tax components [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:title="label: ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract to us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract">Income taxes [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="label: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1">Income Tax Expense (Benefit), Continuing Operations, by Jurisdiction [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1" xlink:title="label: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract">Components of income tax benefit [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="label: IncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" xlink:title="ComprehensiveIncomeNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_ComprehensiveIncomeNetOfTax" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTax">Comprehensive income (loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" xlink:title="label: ComprehensiveIncomeNetOfTax to us-gaap_ComprehensiveIncomeNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTax_lbl1">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xlink:title="label: ComprehensiveIncomeNetOfTax to us-gaap_ComprehensiveIncomeNetOfTax_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskByTypeAxis" xml:lang="en-US" id="us-gaap_ConcentrationRiskByTypeAxis">Concentration Risk Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:title="label: ConcentrationRiskByTypeAxis to us-gaap_ConcentrationRiskByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskLineItems" xml:lang="en-US" id="us-gaap_ConcentrationRiskLineItems">Concentration Risk [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems" xlink:title="label: ConcentrationRiskLineItems to us-gaap_ConcentrationRiskLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskTable" xml:lang="en-US" id="us-gaap_ConcentrationRiskTable">Concentration Risk [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable" xlink:title="label: ConcentrationRiskTable to us-gaap_ConcentrationRiskTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskTypeDomain" xml:lang="en-US" id="us-gaap_ConcentrationRiskTypeDomain">Concentration Risk Type [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:title="label: ConcentrationRiskTypeDomain to us-gaap_ConcentrationRiskTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CostOfRevenue" xml:lang="en-US" id="us-gaap_CostOfRevenue">Cost of sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CostOfRevenue" xlink:to="us-gaap_CostOfRevenue" xlink:title="label: CostOfRevenue to us-gaap_CostOfRevenue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CurrentFederalTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_CurrentFederalTaxExpenseBenefit">Federal</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:title="label: CurrentFederalTaxExpenseBenefit to us-gaap_CurrentFederalTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentFederalTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentFederalTaxExpenseBenefit_lbl1">Current Federal Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl1" xlink:title="label: CurrentFederalTaxExpenseBenefit to us-gaap_CurrentFederalTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CurrentForeignTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_CurrentForeignTaxExpenseBenefit">Foreign</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:title="label: CurrentForeignTaxExpenseBenefit to us-gaap_CurrentForeignTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentForeignTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentForeignTaxExpenseBenefit_lbl1">Current Foreign Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl1" xlink:title="label: CurrentForeignTaxExpenseBenefit to us-gaap_CurrentForeignTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefit">Income taxes current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:title="label: CurrentIncomeTaxExpenseBenefit to us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1">Current Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xlink:title="label: CurrentIncomeTaxExpenseBenefit to us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesCurrent" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent">Total current liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent_lbl1">Liabilities, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl1" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrentAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesCurrentAbstract">Current liabilities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:title="label: LiabilitiesCurrentAbstract to us-gaap_LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_CurrentStateAndLocalTaxExpenseBenefit">State</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:title="label: CurrentStateAndLocalTaxExpenseBenefit to us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1">Current State and Local Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1" xlink:title="label: CurrentStateAndLocalTaxExpenseBenefit to us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CustomerConcentrationRiskMember" xml:lang="en-US" id="us-gaap_CustomerConcentrationRiskMember">Customer Concentration Risk [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:title="label: CustomerConcentrationRiskMember to us-gaap_CustomerConcentrationRiskMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DebtDisclosureTextBlock" xml:lang="en-US" id="us-gaap_DebtDisclosureTextBlock">Borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:title="label: DebtDisclosureTextBlock to us-gaap_DebtDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_DebtDisclosureTextBlock_lbl1">Debt Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl1" xlink:title="label: DebtDisclosureTextBlock to us-gaap_DebtDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DebtInstrumentInterestRateStatedPercentage" xml:lang="en-US" id="us-gaap_DebtInstrumentInterestRateStatedPercentage">Interest rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:title="label: DebtInstrumentInterestRateStatedPercentage to us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xml:lang="en-US" id="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xlink:title="label: DebtInstrumentInterestRateStatedPercentage to us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentNameDomain" xml:lang="en-US" id="us-gaap_DebtInstrumentNameDomain">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:title="label: DebtInstrumentNameDomain to us-gaap_DebtInstrumentNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentAxis" xml:lang="en-US" id="us-gaap_DebtInstrumentAxis">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis" xlink:title="label: DebtInstrumentAxis to us-gaap_DebtInstrumentAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentLineItems" xml:lang="en-US" id="us-gaap_DebtInstrumentLineItems">Debt Instrument [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems" xlink:title="label: DebtInstrumentLineItems to us-gaap_DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentTable" xml:lang="en-US" id="us-gaap_DebtInstrumentTable">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable" xlink:title="label: DebtInstrumentTable to us-gaap_DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredFederalIncomeTaxExpenseBenefit">Federal</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:title="label: DeferredFederalIncomeTaxExpenseBenefit to us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredForeignIncomeTaxExpenseBenefit">Foreign</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:title="label: DeferredForeignIncomeTaxExpenseBenefit to us-gaap_DeferredForeignIncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefit">Deferred income tax benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:title="label: DeferredIncomeTaxExpenseBenefit to us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefit1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefit1">Income taxes deferred</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit1" xlink:title="label: DeferredIncomeTaxExpenseBenefit to us-gaap_DeferredIncomeTaxExpenseBenefit1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl2" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl2">Deferred Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl2" xlink:title="label: DeferredIncomeTaxExpenseBenefit to us-gaap_DeferredIncomeTaxExpenseBenefit_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">State</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="label: DeferredStateAndLocalIncomeTaxExpenseBenefit to us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="DeferredTaxAssetsDeferredIncome" xlink:title="DeferredTaxAssetsDeferredIncome" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsDeferredIncome" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsDeferredIncome">Deferred revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsDeferredIncome" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:title="label: DeferredTaxAssetsDeferredIncome to us-gaap_DeferredTaxAssetsDeferredIncome" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsDeferredIncome_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsDeferredIncome_lbl1">Deferred Tax Assets, Deferred Income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsDeferredIncome" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome_lbl1" xlink:title="label: DeferredTaxAssetsDeferredIncome to us-gaap_DeferredTaxAssetsDeferredIncome_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsGross" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsGross">Gross deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross" xlink:title="label: DeferredTaxAssetsGross to us-gaap_DeferredTaxAssetsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsGross_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsGross_lbl1">Deferred Tax Assets, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl1" xlink:title="label: DeferredTaxAssetsGross to us-gaap_DeferredTaxAssetsGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:title="DeferredTaxAssetsInProcessResearchAndDevelopment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">Capitalized R&amp;D expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:title="label: DeferredTaxAssetsInProcessResearchAndDevelopment to us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsInventory" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsInventory">Inventory reserves</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory" xlink:title="label: DeferredTaxAssetsInventory to us-gaap_DeferredTaxAssetsInventory" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsLiabilitiesNet" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsLiabilitiesNet">Total net deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:title="label: DeferredTaxAssetsLiabilitiesNet to us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1">Deferred Tax Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xlink:title="label: DeferredTaxAssetsLiabilitiesNet to us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsNet" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNet">Net deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet" xlink:title="label: DeferredTaxAssetsNet to us-gaap_DeferredTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNet_lbl1">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl1" xlink:title="label: DeferredTaxAssetsNet to us-gaap_DeferredTaxAssetsNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic">Deferred Tax Assets, Operating Loss Carryforwards, Domestic</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsDomestic to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign">Foreign net operating losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsForeign to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal">State net operating losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="DeferredTaxAssetsOther" xlink:title="DeferredTaxAssetsOther" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsOther" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOther">Other Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther" xlink:title="label: DeferredTaxAssetsOther to us-gaap_DeferredTaxAssetsOther" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOther_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOther_lbl1">Deferred Tax Assets, Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl1" xlink:title="label: DeferredTaxAssetsOther to us-gaap_DeferredTaxAssetsOther_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">R&amp;D credit carryforward</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="label: DeferredTaxAssetsTaxCreditCarryforwardsResearch to us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation">Other accrued compensation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation to us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments">Accrued severance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments to us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">Stock compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost to us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals">Other liabilities and reserves</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves">Warranty reserve</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_DeferredTaxAssetsValuationAllowance" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsValuationAllowance">Valuation allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:title="label: DeferredTaxAssetsValuationAllowance to us-gaap_DeferredTaxAssetsValuationAllowance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xlink:title="label: DeferredTaxAssetsValuationAllowance to us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="DeferredTaxLiabilities" xlink:title="DeferredTaxLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxLiabilities" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilities">Net deferred tax liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities" xlink:title="label: DeferredTaxLiabilities to us-gaap_DeferredTaxLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilities_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilities_lbl1">Deferred Tax Liabilities, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_lbl1" xlink:title="label: DeferredTaxLiabilities to us-gaap_DeferredTaxLiabilities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="DeferredTaxLiabilitiesOther" xlink:title="DeferredTaxLiabilitiesOther" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxLiabilitiesOther" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesOther">Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" xlink:title="label: DeferredTaxLiabilitiesOther to us-gaap_DeferredTaxLiabilitiesOther" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilitiesOther_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesOther_lbl1">Deferred Tax Liabilities, Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl1" xlink:title="label: DeferredTaxLiabilitiesOther to us-gaap_DeferredTaxLiabilitiesOther_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="DefinedContributionPlanCostRecognized" xlink:title="DefinedContributionPlanCostRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DefinedContributionPlanCostRecognized" xml:lang="en-US" id="us-gaap_DefinedContributionPlanCostRecognized">Matching contributions, net of applied forfeitures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized" xlink:title="label: DefinedContributionPlanCostRecognized to us-gaap_DefinedContributionPlanCostRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanCostRecognized_lbl1" xml:lang="en-US" id="us-gaap_DefinedContributionPlanCostRecognized_lbl1">Defined Contribution Plan, Cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_lbl1" xlink:title="label: DefinedContributionPlanCostRecognized to us-gaap_DefinedContributionPlanCostRecognized_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_DepreciationAndAmortization" xml:lang="en-US" id="us-gaap_DepreciationAndAmortization">Depreciation and amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization" xlink:title="label: DepreciationAndAmortization to us-gaap_DepreciationAndAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DepreciationAndAmortization_lbl1" xml:lang="en-US" id="us-gaap_DepreciationAndAmortization_lbl1">Depreciation, Depletion and Amortization, Nonproduction</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl1" xlink:title="label: DepreciationAndAmortization to us-gaap_DepreciationAndAmortization_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareDiluted" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareDiluted_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted_lbl1">Earnings Per Share, Diluted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl1" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="ConsolidationPolicyTextBlock" xlink:title="ConsolidationPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConsolidationPolicyTextBlock" xml:lang="en-US" id="us-gaap_ConsolidationPolicyTextBlock">Principles of consolidation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock" xlink:title="label: ConsolidationPolicyTextBlock to us-gaap_ConsolidationPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">Foreign income before taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperations">Effective tax rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:title="label: EffectiveIncomeTaxRateContinuingOperations to us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperations1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperations1">Effective tax rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations1" xlink:title="label: EffectiveIncomeTaxRateContinuingOperations to us-gaap_EffectiveIncomeTaxRateContinuingOperations1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:title="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">Effective Tax Rate Reconciliation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:title="label: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">Valuation allowance and tax accruals</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="label: EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance to us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">Federal statutory tax rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="label: EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate to us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate to us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment">Business meals and entertainment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="label: EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment to us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">Stock option cancellations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="label: EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost to us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="label: EffectiveIncomeTaxRateReconciliationOtherAdjustments to us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationOtherAdjustments to us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">State income taxes, net of federal income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="label: EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes to us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies">Uncertain tax positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxContingencies to us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxContingencies to us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">R&amp;D credit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxCreditsResearch to us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxCreditsResearch to us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AllocatedShareBasedCompensationExpense" xml:lang="en-US" id="us-gaap_AllocatedShareBasedCompensationExpense">Share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:title="label: AllocatedShareBasedCompensationExpense to us-gaap_AllocatedShareBasedCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xml:lang="en-US" id="us-gaap_AllocatedShareBasedCompensationExpense_lbl1">Share-Based Payment Arrangement, Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xlink:title="label: AllocatedShareBasedCompensationExpense to us-gaap_AllocatedShareBasedCompensationExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="label: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">Income tax benefit from share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="label: EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense to us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1">Share-Based Payment Arrangement, Expense, Tax Benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense to us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensation" xml:lang="en-US" id="us-gaap_ShareBasedCompensation">Share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation" xlink:title="label: ShareBasedCompensation to us-gaap_ShareBasedCompensation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationAbstract" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAbstract">Share-based compensation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAbstract" xlink:to="us-gaap_ShareBasedCompensationAbstract" xlink:title="label: ShareBasedCompensationAbstract to us-gaap_ShareBasedCompensationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="DomesticCountryMember" xlink:title="DomesticCountryMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DomesticCountryMember" xml:lang="en-US" id="us-gaap_DomesticCountryMember">Federal [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember" xlink:title="label: DomesticCountryMember to us-gaap_DomesticCountryMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="label: FiniteLivedIntangibleAssetsMajorClassNameDomain to us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="label: FiniteLivedIntangibleAssetsByMajorClassAxis to us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsLineItems" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsLineItems">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:title="label: FiniteLivedIntangibleAssetsLineItems to us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">Future amortization expense [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="label: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">Foreign Currency Translation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="label: ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock to us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1" xlink:title="label: ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock to us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GeneralAndAdministrativeExpense" xml:lang="en-US" id="us-gaap_GeneralAndAdministrativeExpense">General and administrative</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:title="label: GeneralAndAdministrativeExpense to us-gaap_GeneralAndAdministrativeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="GeneralAndAdministrativeExpenseMember" xlink:title="GeneralAndAdministrativeExpenseMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GeneralAndAdministrativeExpenseMember" xml:lang="en-US" id="us-gaap_GeneralAndAdministrativeExpenseMember">General and Administrative Expense [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:title="label: GeneralAndAdministrativeExpenseMember to us-gaap_GeneralAndAdministrativeExpenseMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GeographicConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GeographicConcentrationRiskMember" xml:lang="en-US" id="us-gaap_GeographicConcentrationRiskMember">Geographic Concentration Risk [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember" xlink:title="label: GeographicConcentrationRiskMember to us-gaap_GeographicConcentrationRiskMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:title="GoodwillAndIntangibleAssetsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xml:lang="en-US" id="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">Goodwill and intangible assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:title="label: GoodwillAndIntangibleAssetsPolicyTextBlock to us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_GrossProfit" xml:lang="en-US" id="us-gaap_GrossProfit">Gross profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit" xlink:title="label: GrossProfit to us-gaap_GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GrossProfit1" xml:lang="en-US" id="us-gaap_GrossProfit1">Gross profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit1" xlink:title="label: GrossProfit to us-gaap_GrossProfit1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementAbstract" xml:lang="en-US" id="us-gaap_IncomeStatementAbstract">CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract" xlink:title="label: IncomeStatementAbstract to us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:label="IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:title="IncomeTaxExaminationPenaltiesAndInterestAccrued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xml:lang="en-US" id="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued">Accrued interest and penalties related to uncertain tax positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:to="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:title="label: IncomeTaxExaminationPenaltiesAndInterestAccrued to us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureTextBlock" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureTextBlock">Income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:title="label: IncomeTaxDisclosureTextBlock to us-gaap_IncomeTaxDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="IncomeTaxPolicyTextBlock" xlink:title="IncomeTaxPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeTaxPolicyTextBlock" xml:lang="en-US" id="us-gaap_IncomeTaxPolicyTextBlock">Income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:title="label: IncomeTaxPolicyTextBlock to us-gaap_IncomeTaxPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_IncomeTaxPolicyTextBlock_lbl1">Income Tax, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl1" xlink:title="label: IncomeTaxPolicyTextBlock to us-gaap_IncomeTaxPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherOperatingAssets">Other current and long-term assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:title="label: IncreaseDecreaseInOtherOperatingAssets to us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1">Increase (Decrease) in Other Operating Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xlink:title="label: IncreaseDecreaseInOtherOperatingAssets to us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">Add: Dilutive effect of outstanding equity awards as determined by the treasury stock method (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="label: IncrementalCommonSharesAttributableToShareBasedPaymentArrangements to us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1">Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xlink:title="label: IncrementalCommonSharesAttributableToShareBasedPaymentArrangements to us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IntangibleAssetsNetExcludingGoodwill" xml:lang="en-US" id="us-gaap_IntangibleAssetsNetExcludingGoodwill">Intangible assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:title="label: IntangibleAssetsNetExcludingGoodwill to us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1" xml:lang="en-US" id="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1" xlink:title="label: IntangibleAssetsNetExcludingGoodwill to us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="FiniteLivedIntangibleAssetsGross" xlink:title="FiniteLivedIntangibleAssetsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsGross" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsGross">Gross amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:title="label: FiniteLivedIntangibleAssetsGross to us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsNetAbstract">Identifiable intangible assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:title="label: FiniteLivedIntangibleAssetsNetAbstract to us-gaap_FiniteLivedIntangibleAssetsNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="Goodwill" xlink:title="Goodwill" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Goodwill" xml:lang="en-US" id="us-gaap_Goodwill">Goodwill</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Goodwill" xlink:to="us-gaap_Goodwill" xlink:title="label: Goodwill to us-gaap_Goodwill" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="InterestExpense" xlink:title="InterestExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_InterestExpense" xml:lang="en-US" id="us-gaap_InterestExpense">Interest expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestExpense" xlink:to="us-gaap_InterestExpense" xlink:title="label: InterestExpense to us-gaap_InterestExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestExpense_lbl1" xml:lang="en-US" id="us-gaap_InterestExpense_lbl1">Interest Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestExpense" xlink:to="us-gaap_InterestExpense_lbl1" xlink:title="label: InterestExpense to us-gaap_InterestExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeDomesticDeposits" xlink:label="InterestIncomeDomesticDeposits" xlink:title="InterestIncomeDomesticDeposits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestIncomeDomesticDeposits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestIncomeDomesticDeposits" xml:lang="en-US" id="us-gaap_InterestIncomeDomesticDeposits">Interest income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestIncomeDomesticDeposits" xlink:to="us-gaap_InterestIncomeDomesticDeposits" xlink:title="label: InterestIncomeDomesticDeposits to us-gaap_InterestIncomeDomesticDeposits" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryNet" xml:lang="en-US" id="us-gaap_InventoryNet">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet" xlink:title="label: InventoryNet to us-gaap_InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_InventoryNet1" xml:lang="en-US" id="us-gaap_InventoryNet1">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet1" xlink:title="label: InventoryNet to us-gaap_InventoryNet1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="InventoryPolicyTextBlock" xlink:title="InventoryPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryPolicyTextBlock" xml:lang="en-US" id="us-gaap_InventoryPolicyTextBlock">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:title="label: InventoryPolicyTextBlock to us-gaap_InventoryPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_InventoryPolicyTextBlock_lbl1">Inventory, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl1" xlink:title="label: InventoryPolicyTextBlock to us-gaap_InventoryPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeaseholdImprovementsMember" xml:lang="en-US" id="us-gaap_LeaseholdImprovementsMember">Leasehold Improvements [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:title="label: LeaseholdImprovementsMember to us-gaap_LeaseholdImprovementsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="Liabilities" xlink:title="Liabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_Liabilities" xml:lang="en-US" id="us-gaap_Liabilities">Total liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Liabilities" xlink:to="us-gaap_Liabilities" xlink:title="label: Liabilities to us-gaap_Liabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Liabilities_lbl1" xml:lang="en-US" id="us-gaap_Liabilities_lbl1">Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Liabilities" xlink:to="us-gaap_Liabilities_lbl1" xlink:title="label: Liabilities to us-gaap_Liabilities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity">Total liabilities and shareholders' equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity_lbl1">Liabilities and Equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquityAbstract">Liabilities and Shareholders' Equity:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:title="label: LiabilitiesAndStockholdersEquityAbstract to us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="LinesOfCreditCurrent" xlink:title="LinesOfCreditCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LinesOfCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LinesOfCreditCurrent" xml:lang="en-US" id="us-gaap_LinesOfCreditCurrent">Revolving loan payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent" xlink:title="label: LinesOfCreditCurrent to us-gaap_LinesOfCreditCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">Maximum borrowing capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="label: LineOfCreditFacilityMaximumBorrowingCapacity to us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xlink:title="label: LineOfCreditFacilityMaximumBorrowingCapacity to us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">Additional borrowing capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="label: LineOfCreditFacilityRemainingBorrowingCapacity to us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xlink:title="label: LineOfCreditFacilityRemainingBorrowingCapacity to us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_LineOfCreditFacilityAbstract" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityAbstract">Borrowings [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract" xlink:title="label: LineOfCreditFacilityAbstract to us-gaap_LineOfCreditFacilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityAbstract_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityAbstract_lbl1">Line of Credit Facility [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl1" xlink:title="label: LineOfCreditFacilityAbstract to us-gaap_LineOfCreditFacilityAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="PaymentsOfLoanCosts" xlink:title="PaymentsOfLoanCosts" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsOfLoanCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:title="us-gaap_PaymentsOfLoanCosts" xml:lang="en-US" id="us-gaap_PaymentsOfLoanCosts">Payment of bank financing costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsOfLoanCosts" xlink:to="us-gaap_PaymentsOfLoanCosts" xlink:title="label: PaymentsOfLoanCosts to us-gaap_PaymentsOfLoanCosts" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsOfLoanCosts_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsOfLoanCosts_lbl1" xml:lang="en-US" id="us-gaap_PaymentsOfLoanCosts_lbl1">Payments of Loan Costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsOfLoanCosts" xlink:to="us-gaap_PaymentsOfLoanCosts_lbl1" xlink:title="label: PaymentsOfLoanCosts to us-gaap_PaymentsOfLoanCosts_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MachineryAndEquipmentMember" xml:lang="en-US" id="us-gaap_MachineryAndEquipmentMember">Machinery and Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:title="label: MachineryAndEquipmentMember to us-gaap_MachineryAndEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_MachineryAndEquipmentMember1" xml:lang="en-US" id="us-gaap_MachineryAndEquipmentMember1">Tooling, Machinery and Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember1" xlink:title="label: MachineryAndEquipmentMember to us-gaap_MachineryAndEquipmentMember1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="RelatedPartyTransactionsByRelatedPartyAxis" xlink:title="RelatedPartyTransactionsByRelatedPartyAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xml:lang="en-US" id="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis">Related Party, Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:title="label: RelatedPartyTransactionsByRelatedPartyAxis to us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities">Net cash (used in) provided by financing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">Cash flows from financing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInFinancingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities">Net cash used in investing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">Cash flows from investing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInInvestingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities">Net cash provided by (used in) operating activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLoss" xml:lang="en-US" id="us-gaap_NetIncomeLoss">Net income (loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetIncomeLoss1" xml:lang="en-US" id="us-gaap_NetIncomeLoss1">Net income (loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss1" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NonoperatingIncomeExpense" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense">Interest and other income (expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonoperatingIncomeExpense_lbl1" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense_lbl1">Nonoperating Income (Expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="NonoperatingIncomeExpenseAbstract" xlink:title="NonoperatingIncomeExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonoperatingIncomeExpenseAbstract" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpenseAbstract">Interest and other income (expense):</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:title="label: NonoperatingIncomeExpenseAbstract to us-gaap_NonoperatingIncomeExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AssetsNoncurrent" xml:lang="en-US" id="us-gaap_AssetsNoncurrent">Total noncurrent assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent" xlink:title="label: AssetsNoncurrent to us-gaap_AssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_AssetsNoncurrent_lbl1">Assets, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl1" xlink:title="label: AssetsNoncurrent to us-gaap_AssetsNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesNoncurrent" xml:lang="en-US" id="us-gaap_LiabilitiesNoncurrent">Total noncurrent liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent" xlink:title="label: LiabilitiesNoncurrent to us-gaap_LiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesNoncurrent_lbl1">Liabilities, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl1" xlink:title="label: LiabilitiesNoncurrent to us-gaap_LiabilitiesNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:label="MarketingAndAdvertisingExpenseAbstract" xlink:title="MarketingAndAdvertisingExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MarketingAndAdvertisingExpenseAbstract" xml:lang="en-US" id="us-gaap_MarketingAndAdvertisingExpenseAbstract">Advertising [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MarketingAndAdvertisingExpenseAbstract" xlink:to="us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:title="label: MarketingAndAdvertisingExpenseAbstract to us-gaap_MarketingAndAdvertisingExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_OperatingIncomeLoss" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss">Operating income (loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingIncomeLoss_lbl1" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss_lbl1">Operating Income (Loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl1" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsCurrent" xml:lang="en-US" id="us-gaap_OtherAssetsCurrent">Other current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent" xlink:title="label: OtherAssetsCurrent to us-gaap_OtherAssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherNonoperatingIncomeExpense" xml:lang="en-US" id="us-gaap_OtherNonoperatingIncomeExpense">Other, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:title="label: OtherNonoperatingIncomeExpense to us-gaap_OtherNonoperatingIncomeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="PatentsMember" xlink:title="PatentsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PatentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PatentsMember" xml:lang="en-US" id="us-gaap_PatentsMember">Patents [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PatentsMember" xlink:to="us-gaap_PatentsMember" xlink:title="label: PatentsMember to us-gaap_PatentsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="PreferredStockSharesAuthorized" xlink:title="PreferredStockSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockSharesAuthorized" xml:lang="en-US" id="us-gaap_PreferredStockSharesAuthorized">Preferred stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized" xlink:title="label: PreferredStockSharesAuthorized to us-gaap_PreferredStockSharesAuthorized" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="PreferredStockSharesIssued" xlink:title="PreferredStockSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockSharesIssued" xml:lang="en-US" id="us-gaap_PreferredStockSharesIssued">Preferred stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued" xlink:title="label: PreferredStockSharesIssued to us-gaap_PreferredStockSharesIssued" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="PreferredStockSharesOutstanding" xlink:title="PreferredStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockSharesOutstanding" xml:lang="en-US" id="us-gaap_PreferredStockSharesOutstanding">Preferred stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding" xlink:title="label: PreferredStockSharesOutstanding to us-gaap_PreferredStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="PreferredStockParOrStatedValuePerShare" xlink:title="PreferredStockParOrStatedValuePerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockParOrStatedValuePerShare" xml:lang="en-US" id="us-gaap_PreferredStockParOrStatedValuePerShare">Preferred stock par value (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:title="label: PreferredStockParOrStatedValuePerShare to us-gaap_PreferredStockParOrStatedValuePerShare" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PrepaidTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PrepaidTaxes" xml:lang="en-US" id="us-gaap_PrepaidTaxes">Prepaid income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrepaidTaxes" xlink:to="us-gaap_PrepaidTaxes" xlink:title="label: PrepaidTaxes to us-gaap_PrepaidTaxes" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ProceedsFromLinesOfCredit" xml:lang="en-US" id="us-gaap_ProceedsFromLinesOfCredit">Proceeds from bank borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit" xlink:title="label: ProceedsFromLinesOfCredit to us-gaap_ProceedsFromLinesOfCredit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromLinesOfCredit_lbl1" xml:lang="en-US" id="us-gaap_ProceedsFromLinesOfCredit_lbl1">Proceeds from Lines of Credit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit_lbl1" xlink:title="label: ProceedsFromLinesOfCredit to us-gaap_ProceedsFromLinesOfCredit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="ProceedsFromStockOptionsExercised" xlink:title="ProceedsFromStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ProceedsFromStockOptionsExercised" xml:lang="en-US" id="us-gaap_ProceedsFromStockOptionsExercised">Cash received from exercise of stock options</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:title="label: ProceedsFromStockOptionsExercised to us-gaap_ProceedsFromStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromStockOptionsExercised_lbl1" xml:lang="en-US" id="us-gaap_ProceedsFromStockOptionsExercised_lbl1">Proceeds from Stock Options Exercised</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl1" xlink:title="label: ProceedsFromStockOptionsExercised to us-gaap_ProceedsFromStockOptionsExercised_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentGross" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentGross">Fixed assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:title="label: PropertyPlantAndEquipmentGross to us-gaap_PropertyPlantAndEquipmentGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentGross_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentGross_lbl1">Property, Plant and Equipment, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl1" xlink:title="label: PropertyPlantAndEquipmentGross to us-gaap_PropertyPlantAndEquipmentGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet">Fixed assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet_lbl1">Property, Plant and Equipment, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentAbstract" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentAbstract">Fixed assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:title="label: PropertyPlantAndEquipmentAbstract to us-gaap_PropertyPlantAndEquipmentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentAbstract1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentAbstract1">Fixed assets, net [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract1" xlink:title="label: PropertyPlantAndEquipmentAbstract to us-gaap_PropertyPlantAndEquipmentAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">Fixed assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="label: PropertyPlantAndEquipmentPolicyTextBlock to us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1" xlink:title="label: PropertyPlantAndEquipmentPolicyTextBlock to us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="ProvisionForDoubtfulAccounts" xlink:title="ProvisionForDoubtfulAccounts" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProvisionForDoubtfulAccounts" xml:lang="en-US" id="us-gaap_ProvisionForDoubtfulAccounts">Additions charged to costs and expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:title="label: ProvisionForDoubtfulAccounts to us-gaap_ProvisionForDoubtfulAccounts" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">Capital expenditures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="TradeAndOtherAccountsReceivablePolicy" xlink:title="TradeAndOtherAccountsReceivablePolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TradeAndOtherAccountsReceivablePolicy" xml:lang="en-US" id="us-gaap_TradeAndOtherAccountsReceivablePolicy">Accounts receivable and credit losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:title="label: TradeAndOtherAccountsReceivablePolicy to us-gaap_TradeAndOtherAccountsReceivablePolicy" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xml:lang="en-US" id="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">Unrecognized tax benefits [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="label: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="RelatedPartyDomain" xlink:title="RelatedPartyDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RelatedPartyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RelatedPartyDomain" xml:lang="en-US" id="us-gaap_RelatedPartyDomain">Related Party, Type [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain" xlink:title="label: RelatedPartyDomain to us-gaap_RelatedPartyDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="RelatedPartyTransactionLineItems" xlink:title="RelatedPartyTransactionLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RelatedPartyTransactionLineItems" xml:lang="en-US" id="us-gaap_RelatedPartyTransactionLineItems">Related Party Transaction [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems" xlink:title="label: RelatedPartyTransactionLineItems to us-gaap_RelatedPartyTransactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="RelatedPartyTransactionsDisclosureTextBlock" xlink:title="RelatedPartyTransactionsDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xml:lang="en-US" id="us-gaap_RelatedPartyTransactionsDisclosureTextBlock">Related party transactions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:title="label: RelatedPartyTransactionsDisclosureTextBlock to us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:title="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xml:lang="en-US" id="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable">Schedule of Related Party Transactions, by Related Party [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:title="label: ScheduleOfRelatedPartyTransactionsByRelatedPartyTable to us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="ResearchAndDevelopmentExpensePolicy" xlink:title="ResearchAndDevelopmentExpensePolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ResearchAndDevelopmentExpensePolicy" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpensePolicy">Engineering, design and product development</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:title="label: ResearchAndDevelopmentExpensePolicy to us-gaap_ResearchAndDevelopmentExpensePolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1">Research and Development Expense, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1" xlink:title="label: ResearchAndDevelopmentExpensePolicy to us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchMember" xlink:label="ResearchMember" xlink:title="ResearchMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchMember" xml:lang="en-US" id="us-gaap_ResearchMember">R&amp;D Credit [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchMember" xlink:to="us-gaap_ResearchMember" xlink:title="label: ResearchMember to us-gaap_ResearchMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US" id="us-gaap_RetainedEarningsAccumulatedDeficit">Retained earnings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:title="label: RetainedEarningsAccumulatedDeficit to us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="InventoryDisclosureTextBlock" xlink:title="InventoryDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryDisclosureTextBlock" xml:lang="en-US" id="us-gaap_InventoryDisclosureTextBlock">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:title="label: InventoryDisclosureTextBlock to us-gaap_InventoryDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_InventoryDisclosureTextBlock_lbl1">Inventory Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl1" xlink:title="label: InventoryDisclosureTextBlock to us-gaap_InventoryDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="PropertyPlantAndEquipmentTextBlock" xlink:title="PropertyPlantAndEquipmentTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentTextBlock" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentTextBlock">Fixed Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:title="label: PropertyPlantAndEquipmentTextBlock to us-gaap_PropertyPlantAndEquipmentTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1" xlink:title="label: PropertyPlantAndEquipmentTextBlock to us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:title="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xml:lang="en-US" id="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">Concentration of Credit Risk</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:title="label: SchedulesOfConcentrationOfRiskByRiskFactorTextBlock to us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1" xlink:title="label: SchedulesOfConcentrationOfRiskByRiskFactorTextBlock to us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SecuredDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SecuredDebt" xml:lang="en-US" id="us-gaap_SecuredDebt">Balance outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecuredDebt" xlink:to="us-gaap_SecuredDebt" xlink:title="label: SecuredDebt to us-gaap_SecuredDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SecuredDebt_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SecuredDebt_lbl1" xml:lang="en-US" id="us-gaap_SecuredDebt_lbl1">Secured Debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecuredDebt" xlink:to="us-gaap_SecuredDebt_lbl1" xlink:title="label: SecuredDebt to us-gaap_SecuredDebt_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="SegmentReportingDisclosureTextBlock" xlink:title="SegmentReportingDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentReportingDisclosureTextBlock" xml:lang="en-US" id="us-gaap_SegmentReportingDisclosureTextBlock">Geographic area information</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:title="label: SegmentReportingDisclosureTextBlock to us-gaap_SegmentReportingDisclosureTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SellingAndMarketingExpense" xml:lang="en-US" id="us-gaap_SellingAndMarketingExpense">Selling and marketing</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:title="label: SellingAndMarketingExpense to us-gaap_SellingAndMarketingExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SeriesAPreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SeriesAPreferredStockMember" xml:lang="en-US" id="us-gaap_SeriesAPreferredStockMember">Series A Preferred Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SeriesAPreferredStockMember" xlink:to="us-gaap_SeriesAPreferredStockMember" xlink:title="label: SeriesAPreferredStockMember to us-gaap_SeriesAPreferredStockMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xml:lang="en-US" id="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract">Stock incentive plans [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="label: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1">Share-Based Payment Arrangement, Disclosure [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1" xlink:title="label: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">Granted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1">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:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">Outstanding, end of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1">Outstanding, beginning of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">Number of shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">Number of shares available for grant (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">Intrinsic value of stock options exercised</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">Expired (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">Forfeited (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">Outstanding, beginning of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber1">Outstanding, end of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">Outstanding, beginning of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice1">Outstanding, end of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">Options exercisable, end of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">Options exercisable, end of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">Dividend yield</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">Expected volatility</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">Risk-free interest rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain">Equity Award [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xml:lang="en-US" id="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="label: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="StateAndLocalJurisdictionMember" xlink:title="StateAndLocalJurisdictionMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StateAndLocalJurisdictionMember" xml:lang="en-US" id="us-gaap_StateAndLocalJurisdictionMember">State [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember" xlink:title="label: StateAndLocalJurisdictionMember to us-gaap_StateAndLocalJurisdictionMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StateAndLocalJurisdictionMember_lbl1" xml:lang="en-US" id="us-gaap_StateAndLocalJurisdictionMember_lbl1">State and Local Jurisdiction [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember_lbl1" xlink:title="label: StateAndLocalJurisdictionMember to us-gaap_StateAndLocalJurisdictionMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfCashFlowsAbstract" xml:lang="en-US" id="us-gaap_StatementOfCashFlowsAbstract">CONSOLIDATED STATEMENTS OF CASH FLOWS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract" xlink:title="label: StatementOfCashFlowsAbstract to us-gaap_StatementOfCashFlowsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:title="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xml:lang="en-US" id="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:title="label: StatementOfIncomeAndComprehensiveIncomeAbstract to us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfStockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_StatementOfStockholdersEquityAbstract">CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract" xlink:title="label: StatementOfStockholdersEquityAbstract to us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xml:lang="en-US" id="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">Share-based payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="label: ShareBasedCompensationOptionAndIncentivePlansPolicy to us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_StockholdersEquityAbstract">Shareholders' equity:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:title="label: StockholdersEquityAbstract to us-gaap_StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:title="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xml:lang="en-US" id="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock">Unrecognized Tax Benefits</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:to="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:title="label: SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock to us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1">Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:to="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1" xlink:title="label: SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock to us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="SummaryOfValuationAllowanceTextBlock" xlink:title="SummaryOfValuationAllowanceTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SummaryOfValuationAllowanceTextBlock" xml:lang="en-US" id="us-gaap_SummaryOfValuationAllowanceTextBlock">Valuation Allowance on Deferred Tax Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SummaryOfValuationAllowanceTextBlock" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:title="label: SummaryOfValuationAllowanceTextBlock to us-gaap_SummaryOfValuationAllowanceTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="SupplementalCashFlowInformationAbstract" xlink:title="SupplementalCashFlowInformationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SupplementalCashFlowInformationAbstract" xml:lang="en-US" id="us-gaap_SupplementalCashFlowInformationAbstract">Supplemental cash flow information:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" xlink:title="label: SupplementalCashFlowInformationAbstract to us-gaap_SupplementalCashFlowInformationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SupplementalCashFlowInformationAbstract_lbl1" xml:lang="en-US" id="us-gaap_SupplementalCashFlowInformationAbstract_lbl1">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl1" xlink:title="label: SupplementalCashFlowInformationAbstract to us-gaap_SupplementalCashFlowInformationAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="TaxCreditCarryforwardNameDomain" xlink:title="TaxCreditCarryforwardNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxCreditCarryforwardNameDomain" xml:lang="en-US" id="us-gaap_TaxCreditCarryforwardNameDomain">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxCreditCarryforwardNameDomain" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain" xlink:title="label: TaxCreditCarryforwardNameDomain to us-gaap_TaxCreditCarryforwardNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="TaxCreditCarryforwardAxis" xlink:title="TaxCreditCarryforwardAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxCreditCarryforwardAxis" xml:lang="en-US" id="us-gaap_TaxCreditCarryforwardAxis">Tax Credit Carryforward [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardAxis" xlink:title="label: TaxCreditCarryforwardAxis to us-gaap_TaxCreditCarryforwardAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="IncomeTaxesPaid" xlink:title="IncomeTaxesPaid" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxesPaid" xml:lang="en-US" id="us-gaap_IncomeTaxesPaid">Income taxes paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxesPaid" xlink:to="us-gaap_IncomeTaxesPaid" xlink:title="label: IncomeTaxesPaid to us-gaap_IncomeTaxesPaid" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ToolsDiesAndMoldsMember" xlink:label="ToolsDiesAndMoldsMember" xlink:title="ToolsDiesAndMoldsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ToolsDiesAndMoldsMember" xml:lang="en-US" id="us-gaap_ToolsDiesAndMoldsMember">Tooling [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ToolsDiesAndMoldsMember" xlink:to="us-gaap_ToolsDiesAndMoldsMember" xlink:title="label: ToolsDiesAndMoldsMember to us-gaap_ToolsDiesAndMoldsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AssetsCurrent" xml:lang="en-US" id="us-gaap_AssetsCurrent">Total current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrent_lbl1" xml:lang="en-US" id="us-gaap_AssetsCurrent_lbl1">Assets, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl1" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrentAbstract" xml:lang="en-US" id="us-gaap_AssetsCurrentAbstract">Current assets:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:title="label: AssetsCurrentAbstract to us-gaap_AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseAbstract" xlink:label="ResearchAndDevelopmentExpenseAbstract" xlink:title="ResearchAndDevelopmentExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ResearchAndDevelopmentExpenseAbstract" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpenseAbstract">Engineering, design and product development [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpenseAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpenseAbstract" xlink:title="label: ResearchAndDevelopmentExpenseAbstract to us-gaap_ResearchAndDevelopmentExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1">Research and Development Expense [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpenseAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1" xlink:title="label: ResearchAndDevelopmentExpenseAbstract to us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="TreasuryStockAcquiredAverageCostPerShare" xlink:title="TreasuryStockAcquiredAverageCostPerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xml:lang="en-US" id="us-gaap_TreasuryStockAcquiredAverageCostPerShare">Average purchase price of common stock repurchased (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:title="label: TreasuryStockAcquiredAverageCostPerShare to us-gaap_TreasuryStockAcquiredAverageCostPerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1">Shares Acquired, Average Cost Per Share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1" xlink:title="label: TreasuryStockAcquiredAverageCostPerShare to us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits" xlink:title="UnrecognizedTaxBenefits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_UnrecognizedTaxBenefits" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits">Unrecognized tax benefits, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_UnrecognizedTaxBenefits1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits1">Unrecognized tax benefits, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits1" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefits_lbl2" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits_lbl2">Unrecognized Tax Benefits</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl2" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:title="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations">Lapse of statute of limitations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:title="label: UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations to us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1">Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1" xlink:title="label: UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations to us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:title="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease">Tax positions taken during the current period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:to="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:title="label: UnrecognizedTaxBenefitsPeriodIncreaseDecrease to us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:title="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">Unrecognized tax benefits that would favorably affect effective income tax rate if recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:title="label: UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate to us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1" xlink:title="label: UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate to us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="ValuationAllowancesAndReservesBalance" xlink:title="ValuationAllowancesAndReservesBalance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ValuationAllowancesAndReservesBalance" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesBalance">Balance, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" xlink:title="label: ValuationAllowancesAndReservesBalance to us-gaap_ValuationAllowancesAndReservesBalance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ValuationAllowancesAndReservesBalance1" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesBalance1">Balance, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance1" xlink:title="label: ValuationAllowancesAndReservesBalance to us-gaap_ValuationAllowancesAndReservesBalance1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesBalance_lbl2" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesBalance_lbl2">SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl2" xlink:title="label: ValuationAllowancesAndReservesBalance to us-gaap_ValuationAllowancesAndReservesBalance_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="ValuationAllowancesAndReservesChargedToCostAndExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">Additions charged to income tax provision</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="label: ValuationAllowancesAndReservesChargedToCostAndExpense to us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="ValuationAllowancesAndReservesDeductions" xlink:title="ValuationAllowancesAndReservesDeductions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ValuationAllowancesAndReservesDeductions" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesDeductions">Subtractions released to income tax provisions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:title="label: ValuationAllowancesAndReservesDeductions to us-gaap_ValuationAllowancesAndReservesDeductions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesDeductions_lbl1" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesDeductions_lbl1">SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_lbl1" xlink:title="label: ValuationAllowancesAndReservesDeductions to us-gaap_ValuationAllowancesAndReservesDeductions_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="ValuationAllowancesAndReservesDomain" xlink:title="ValuationAllowancesAndReservesDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesDomain" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesDomain">Valuation Allowances and Reserves [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" xlink:title="label: ValuationAllowancesAndReservesDomain to us-gaap_ValuationAllowancesAndReservesDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="ValuationAllowancesAndReservesTypeAxis" xlink:title="ValuationAllowancesAndReservesTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesTypeAxis" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesTypeAxis">Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:title="label: ValuationAllowancesAndReservesTypeAxis to us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">Diluted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1">Diluted: Weighted average common and common equivalent shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">Basic (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1">Basic: Weighted average common shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockMember" xml:lang="en-US" id="us-gaap_CommonStockMember">Common Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockMember" xlink:to="us-gaap_CommonStockMember" xlink:title="label: CommonStockMember to us-gaap_CommonStockMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="ConstructionInProgressMember" xlink:title="ConstructionInProgressMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConstructionInProgressMember" xml:lang="en-US" id="us-gaap_ConstructionInProgressMember">Construction in-Process [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember" xlink:title="label: ConstructionInProgressMember to us-gaap_ConstructionInProgressMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:title="PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">Fixed assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:title="label: PropertyPlantAndEquipmentDisclosureTextBlock to us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1" xlink:title="label: PropertyPlantAndEquipmentDisclosureTextBlock to us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentTypeDomain">Long-Lived Tangible Asset [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:title="label: PropertyPlantAndEquipmentTypeDomain to us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchAndDevelopmentExpense" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpense">Engineering, design and product development</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:title="label: ResearchAndDevelopmentExpense to us-gaap_ResearchAndDevelopmentExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ResearchAndDevelopmentExpense1" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpense1">Research and development expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense1" xlink:title="label: ResearchAndDevelopmentExpense to us-gaap_ResearchAndDevelopmentExpense1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_Assets" xml:lang="en-US" id="us-gaap_Assets">Total assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets" xlink:title="label: Assets to us-gaap_Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Assets_lbl1" xml:lang="en-US" id="us-gaap_Assets_lbl1">Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets_lbl1" xlink:title="label: Assets to us-gaap_Assets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="IntangibleAssetsDisclosureTextBlock" xlink:title="IntangibleAssetsDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IntangibleAssetsDisclosureTextBlock" xml:lang="en-US" id="us-gaap_IntangibleAssetsDisclosureTextBlock">Intangible assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:title="label: IntangibleAssetsDisclosureTextBlock to us-gaap_IntangibleAssetsDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1">Intangible Assets Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1" xlink:title="label: IntangibleAssetsDisclosureTextBlock to us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="OtherLiabilitiesCurrent" xlink:title="OtherLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesCurrent" xml:lang="en-US" id="us-gaap_OtherLiabilitiesCurrent">Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent" xlink:title="label: OtherLiabilitiesCurrent to us-gaap_OtherLiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesNoncurrent" xml:lang="en-US" id="us-gaap_OtherLiabilitiesNoncurrent">Other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:title="label: OtherLiabilitiesNoncurrent to us-gaap_OtherLiabilitiesNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis" xml:lang="en-US" id="us-gaap_ConcentrationRiskByBenchmarkAxis">Concentration Risk Benchmark [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:title="label: ConcentrationRiskByBenchmarkAxis to us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain" xml:lang="en-US" id="us-gaap_ConcentrationRiskBenchmarkDomain">Concentration Risk Benchmark [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:title="label: ConcentrationRiskBenchmarkDomain to us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="IncomeTaxAuthorityDomain" xlink:title="IncomeTaxAuthorityDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxAuthorityDomain" xml:lang="en-US" id="us-gaap_IncomeTaxAuthorityDomain">Income Tax Authority [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:title="label: IncomeTaxAuthorityDomain to us-gaap_IncomeTaxAuthorityDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xml:lang="en-US" id="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">Stock incentive plans</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="label: DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock to us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementTable" xml:lang="en-US" id="us-gaap_StatementTable">Statement [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementTable" xlink:to="us-gaap_StatementTable" xlink:title="label: StatementTable to us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesNameDomain">Antidilutive Securities, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:title="label: AntidilutiveSecuritiesNameDomain to us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="MovementInValuationAllowancesAndReservesRollForward" xlink:title="MovementInValuationAllowancesAndReservesRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xml:lang="en-US" id="us-gaap_MovementInValuationAllowancesAndReservesRollForward">Valuation allowance [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:title="label: MovementInValuationAllowancesAndReservesRollForward to us-gaap_MovementInValuationAllowancesAndReservesRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsAbstract" xml:lang="en-US" id="us-gaap_AssetsAbstract">Assets:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAbstract" xlink:to="us-gaap_AssetsAbstract" xlink:title="label: AssetsAbstract to us-gaap_AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementLineItems" xml:lang="en-US" id="us-gaap_StatementLineItems">Statement [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementLineItems" xlink:to="us-gaap_StatementLineItems" xlink:title="label: StatementLineItems to us-gaap_StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="OperatingLossCarryforwardsTable" xlink:title="OperatingLossCarryforwardsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLossCarryforwardsTable" xml:lang="en-US" id="us-gaap_OperatingLossCarryforwardsTable">Operating Loss Carryforwards [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsTable" xlink:to="us-gaap_OperatingLossCarryforwardsTable" xlink:title="label: OperatingLossCarryforwardsTable to us-gaap_OperatingLossCarryforwardsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="OperatingLossCarryforwardsLineItems" xlink:title="OperatingLossCarryforwardsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLossCarryforwardsLineItems" xml:lang="en-US" id="us-gaap_OperatingLossCarryforwardsLineItems">Operating Loss Carryforwards [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="us-gaap_OperatingLossCarryforwardsLineItems" xlink:title="label: OperatingLossCarryforwardsLineItems to us-gaap_OperatingLossCarryforwardsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityAbstract" xml:lang="en-US" id="us-gaap_EquityAbstract">Stock repurchase program [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAbstract" xlink:to="us-gaap_EquityAbstract" xlink:title="label: EquityAbstract to us-gaap_EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RisksAndUncertaintiesAbstract" xml:lang="en-US" id="us-gaap_RisksAndUncertaintiesAbstract">Concentration of credit risk [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract" xlink:title="label: RisksAndUncertaintiesAbstract to us-gaap_RisksAndUncertaintiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RisksAndUncertaintiesAbstract_lbl1" xml:lang="en-US" id="us-gaap_RisksAndUncertaintiesAbstract_lbl1">Risks and Uncertainties [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl1" xlink:title="label: RisksAndUncertaintiesAbstract to us-gaap_RisksAndUncertaintiesAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="QuarterlyFinancialInformationTextBlock" xlink:title="QuarterlyFinancialInformationTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_QuarterlyFinancialInformationTextBlock" xml:lang="en-US" id="us-gaap_QuarterlyFinancialInformationTextBlock">Quarterly results of operations (unaudited)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:title="label: QuarterlyFinancialInformationTextBlock to us-gaap_QuarterlyFinancialInformationTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ClassOfStockDomain" xml:lang="en-US" id="us-gaap_ClassOfStockDomain">Class of Stock [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain" xlink:title="label: ClassOfStockDomain to us-gaap_ClassOfStockDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_TreasuryStockValue" xml:lang="en-US" id="us-gaap_TreasuryStockValue">Treasury stock, 4,044,842 shares, at cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue" xlink:title="label: TreasuryStockValue to us-gaap_TreasuryStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockValue_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockValue_lbl1">Treasury Stock, Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl1" xlink:title="label: TreasuryStockValue to us-gaap_TreasuryStockValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xlink:label="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="ValuationAllowanceOperatingLossCarryforwardsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xml:lang="en-US" id="us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember">Foreign Net Operating Loss Carryforwards [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:to="us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="label: ValuationAllowanceOperatingLossCarryforwardsMember to us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="DeferredTaxAssetsNetAbstract" xlink:title="DeferredTaxAssetsNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsNetAbstract" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNetAbstract">Deferred tax assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract" xlink:title="label: DeferredTaxAssetsNetAbstract to us-gaap_DeferredTaxAssetsNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsNetAbstract_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNetAbstract_lbl1">Deferred Tax Assets, Net [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl1" xlink:title="label: DeferredTaxAssetsNetAbstract to us-gaap_DeferredTaxAssetsNetAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="label: IncreaseDecreaseInStockholdersEquityRollForward to us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract">Fixed assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="label: PropertyPlantAndEquipmentNetByTypeAbstract to us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1">Property, Plant and Equipment, Net, by Type [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1" xlink:title="label: PropertyPlantAndEquipmentNetByTypeAbstract to us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsNoncurrent" xml:lang="en-US" id="us-gaap_OtherAssetsNoncurrent">Other assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:title="label: OtherAssetsNoncurrent to us-gaap_OtherAssetsNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_OperatingExpensesAbstract" xml:lang="en-US" id="us-gaap_OperatingExpensesAbstract">Description of business [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract" xlink:title="label: OperatingExpensesAbstract to us-gaap_OperatingExpensesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingExpensesAbstract1" xml:lang="en-US" id="us-gaap_OperatingExpensesAbstract1">Operating expenses:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract1" xlink:title="label: OperatingExpensesAbstract to us-gaap_OperatingExpensesAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingExpenses" xml:lang="en-US" id="us-gaap_OperatingExpenses">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenses" xlink:to="us-gaap_OperatingExpenses" xlink:title="label: OperatingExpenses to us-gaap_OperatingExpenses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenses1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_OperatingExpenses1" xml:lang="en-US" id="us-gaap_OperatingExpenses1">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenses" xlink:to="us-gaap_OperatingExpenses1" xlink:title="label: OperatingExpenses to us-gaap_OperatingExpenses1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenses_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingExpenses_lbl2" xml:lang="en-US" id="us-gaap_OperatingExpenses_lbl2">Operating Expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl2" xlink:title="label: OperatingExpenses to us-gaap_OperatingExpenses_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="EarningsPerShareBasicAbstract" xlink:title="EarningsPerShareBasicAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareBasicAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicAbstract">Net income (loss) per common share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract" xlink:title="label: EarningsPerShareBasicAbstract to us-gaap_EarningsPerShareBasicAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasicAbstract_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicAbstract_lbl1">Earnings Per Share, Basic [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl1" xlink:title="label: EarningsPerShareBasicAbstract to us-gaap_EarningsPerShareBasicAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:label="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:title="EarningsPerShareBasicOtherDisclosuresAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract">Shares used in per-share calculation:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:to="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:title="label: EarningsPerShareBasicOtherDisclosuresAbstract to us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareReconciliationAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareReconciliationAbstract">Earnings per share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="us-gaap_EarningsPerShareReconciliationAbstract" xlink:title="label: EarningsPerShareReconciliationAbstract to us-gaap_EarningsPerShareReconciliationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareReconciliationAbstract_lbl1">Earnings Per Share Reconciliation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xlink:title="label: EarningsPerShareReconciliationAbstract to us-gaap_EarningsPerShareReconciliationAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">Antidilutive Securities [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerShareAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract">Net income (loss) per common share:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareAbstract1" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract1">Earnings per share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract1" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xml:lang="en-US" id="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="label: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="EarningsPerSharePolicyTextBlock" xlink:title="EarningsPerSharePolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerSharePolicyTextBlock" xml:lang="en-US" id="us-gaap_EarningsPerSharePolicyTextBlock">Net income (loss) per share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" xlink:title="label: EarningsPerSharePolicyTextBlock to us-gaap_EarningsPerSharePolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementClassOfStockAxis" xml:lang="en-US" id="us-gaap_StatementClassOfStockAxis">Class of Stock [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:title="label: StatementClassOfStockAxis to us-gaap_StatementClassOfStockAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xml:lang="en-US" id="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="label: ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable to us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xml:lang="en-US" id="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable">Property, Plant and Equipment [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="label: ScheduleOfPropertyPlantAndEquipmentTable to us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockParOrStatedValuePerShare" xml:lang="en-US" id="us-gaap_CommonStockParOrStatedValuePerShare">Common stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:title="label: CommonStockParOrStatedValuePerShare to us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentByTypeAxis">Long-Lived Tangible Asset [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:title="label: PropertyPlantAndEquipmentByTypeAxis to us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentLineItems" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentLineItems">Property, Plant and Equipment [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:title="label: PropertyPlantAndEquipmentLineItems to us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_StockholdersEquity" xml:lang="en-US" id="us-gaap_StockholdersEquity">Total shareholders' equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_StockholdersEquity1" xml:lang="en-US" id="us-gaap_StockholdersEquity1">Ending balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity1" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity2" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_StockholdersEquity2" xml:lang="en-US" id="us-gaap_StockholdersEquity2">Beginning balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity2" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity2" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquity_lbl3" xml:lang="en-US" id="us-gaap_StockholdersEquity_lbl3">Equity, Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl3" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity_lbl3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">Depreciation and amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="label: DeferredTaxLiabilitiesPropertyPlantAndEquipment to us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xlink:title="label: DeferredTaxLiabilitiesPropertyPlantAndEquipment to us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit">Income tax (expense) benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_IncomeTaxExpenseBenefit1" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit1">Income tax expense (benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit1" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefit_lbl2" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit_lbl2">Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl2" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="ForeignCurrencyTransactionGainLossUnrealized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionGainLossUnrealized">Foreign currency transaction losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionGainLossUnrealized" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:title="label: ForeignCurrencyTransactionGainLossUnrealized to us-gaap_ForeignCurrencyTransactionGainLossUnrealized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1">Unrealized Gain (Loss), Foreign Currency Transaction, before Tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionGainLossUnrealized" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1" xlink:title="label: ForeignCurrencyTransactionGainLossUnrealized to us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="PreferredStockValue" xlink:title="PreferredStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PreferredStockValue" xml:lang="en-US" id="us-gaap_PreferredStockValue">Preferred stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockValue" xlink:to="us-gaap_PreferredStockValue" xlink:title="label: PreferredStockValue to us-gaap_PreferredStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockValue_lbl1" xml:lang="en-US" id="us-gaap_PreferredStockValue_lbl1">Preferred Stock, Value, Issued</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl1" xlink:title="label: PreferredStockValue to us-gaap_PreferredStockValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsReceivableMember" xml:lang="en-US" id="us-gaap_AccountsReceivableMember">Accounts Receivable [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember" xlink:title="label: AccountsReceivableMember to us-gaap_AccountsReceivableMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementEquityComponentsAxis" xml:lang="en-US" id="us-gaap_StatementEquityComponentsAxis">Equity Components [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:title="label: StatementEquityComponentsAxis to us-gaap_StatementEquityComponentsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapitalMember" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapitalMember">Additional Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:title="label: AdditionalPaidInCapitalMember to us-gaap_AdditionalPaidInCapitalMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsMember" xml:lang="en-US" id="us-gaap_RetainedEarningsMember">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember" xlink:title="label: RetainedEarningsMember to us-gaap_RetainedEarningsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeMember">Accumulated Other Comprehensive Income (Loss) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:title="label: AccumulatedOtherComprehensiveIncomeMember to us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1">AOCI Attributable to Parent [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xlink:title="label: AccumulatedOtherComprehensiveIncomeMember to us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityComponentDomain" xml:lang="en-US" id="us-gaap_EquityComponentDomain">Equity Component [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain" xlink:title="label: EquityComponentDomain to us-gaap_EquityComponentDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="CapitalExpendituresIncurredButNotYetPaid" xlink:title="CapitalExpendituresIncurredButNotYetPaid" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xml:lang="en-US" id="us-gaap_CapitalExpendituresIncurredButNotYetPaid">Non-cash capital expenditures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:title="label: CapitalExpendituresIncurredButNotYetPaid to us-gaap_CapitalExpendituresIncurredButNotYetPaid" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeStockOptionMember" xml:lang="en-US" id="us-gaap_EmployeeStockOptionMember">Stock Options [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:title="label: EmployeeStockOptionMember to us-gaap_EmployeeStockOptionMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">Issuance of common stock on restricted stock units</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="label: StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1">Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xlink:title="label: StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="StockIssuedDuringPeriodValueStockOptionsExercised" xlink:title="StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">Issuance of common stock from exercise of stock options</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:title="label: StockIssuedDuringPeriodValueStockOptionsExercised to us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl1">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl1" xlink:title="label: StockIssuedDuringPeriodValueStockOptionsExercised to us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures">Issuance of common stock on restricted stock units (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1">Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">Issuance of common stock from exercise of stock options (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="label: StockIssuedDuringPeriodSharesStockOptionsExercised to us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised1">Exercised (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised1" xlink:title="label: StockIssuedDuringPeriodSharesStockOptionsExercised to us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryFinishedGoodsNetOfReserves" xml:lang="en-US" id="us-gaap_InventoryFinishedGoodsNetOfReserves">Finished goods</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:title="label: InventoryFinishedGoodsNetOfReserves to us-gaap_InventoryFinishedGoodsNetOfReserves" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xml:lang="en-US" id="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves">Raw materials and purchased component parts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="label: InventoryRawMaterialsAndSuppliesNetOfReserves to us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredFinanceCostsGross" xml:lang="en-US" id="us-gaap_DeferredFinanceCostsGross">Deferred financing costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross" xlink:title="label: DeferredFinanceCostsGross to us-gaap_DeferredFinanceCostsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredFinanceCostsGross_lbl1" xml:lang="en-US" id="us-gaap_DeferredFinanceCostsGross_lbl1">Debt Issuance Costs, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl1" xlink:title="label: DeferredFinanceCostsGross to us-gaap_DeferredFinanceCostsGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="StockRepurchasedDuringPeriodValue" xlink:title="StockRepurchasedDuringPeriodValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchasedDuringPeriodValue" xml:lang="en-US" id="us-gaap_StockRepurchasedDuringPeriodValue">Value of common stock repurchased</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" xlink:title="label: StockRepurchasedDuringPeriodValue to us-gaap_StockRepurchasedDuringPeriodValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="StockRepurchasedDuringPeriodShares" xlink:title="StockRepurchasedDuringPeriodShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchasedDuringPeriodShares" xml:lang="en-US" id="us-gaap_StockRepurchasedDuringPeriodShares">Common stock repurchased (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" xlink:title="label: StockRepurchasedDuringPeriodShares to us-gaap_StockRepurchasedDuringPeriodShares" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">Number of Shares [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">Options vested or expected to vest (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">Options vested and expected to vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">Options vested or expected to vest (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract">Assumptions used in valuation model [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="EarningsPerShareTextBlock" xlink:title="EarningsPerShareTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareTextBlock" xml:lang="en-US" id="us-gaap_EarningsPerShareTextBlock">Earnings per share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:title="label: EarningsPerShareTextBlock to us-gaap_EarningsPerShareTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">Shares [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="label: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1">Weighted Average Number of Shares Outstanding Reconciliation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NontradeReceivablesCurrent" xlink:label="NontradeReceivablesCurrent" xlink:title="NontradeReceivablesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NontradeReceivablesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NontradeReceivablesCurrent" xml:lang="en-US" id="us-gaap_NontradeReceivablesCurrent">Employee retention credit receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NontradeReceivablesCurrent" xlink:to="us-gaap_NontradeReceivablesCurrent" xlink:title="label: NontradeReceivablesCurrent to us-gaap_NontradeReceivablesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NontradeReceivablesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NontradeReceivablesCurrent_lbl1" xml:lang="en-US" id="us-gaap_NontradeReceivablesCurrent_lbl1">Nontrade Receivables, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NontradeReceivablesCurrent" xlink:to="us-gaap_NontradeReceivablesCurrent_lbl1" xlink:title="label: NontradeReceivablesCurrent to us-gaap_NontradeReceivablesCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:label="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:title="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xml:lang="en-US" id="us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract">Accounts receivable and credit losses [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:to="us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:title="label: AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract to us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeasesAbstract" xml:lang="en-US" id="us-gaap_LeasesAbstract">Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeasesAbstract" xlink:to="us-gaap_LeasesAbstract" xlink:title="label: LeasesAbstract to us-gaap_LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CommitmentsAndContingencies" xml:lang="en-US" id="us-gaap_CommitmentsAndContingencies">Commitments and contingencies (see Notes 8 and 14)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:title="label: CommitmentsAndContingencies to us-gaap_CommitmentsAndContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingencies_lbl1" xml:lang="en-US" id="us-gaap_CommitmentsAndContingencies_lbl1">Commitments and Contingencies</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl1" xlink:title="label: CommitmentsAndContingencies to us-gaap_CommitmentsAndContingencies_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US" id="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="label: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations" xlink:label="NatureOfOperations" xlink:title="NatureOfOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NatureOfOperations" xml:lang="en-US" id="us-gaap_NatureOfOperations">Description of business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NatureOfOperations" xlink:to="us-gaap_NatureOfOperations" xlink:title="label: NatureOfOperations to us-gaap_NatureOfOperations" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableCurrent" xml:lang="en-US" id="us-gaap_AccountsPayableCurrent">Accounts payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent" xlink:title="label: AccountsPayableCurrent to us-gaap_AccountsPayableCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedLiabilitiesCurrent" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesCurrent">Accrued liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:title="label: AccruedLiabilitiesCurrent to us-gaap_AccruedLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AccruedLiabilitiesCurrent1" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesCurrent1">Accrued liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent1" xlink:title="label: AccruedLiabilitiesCurrent to us-gaap_AccruedLiabilitiesCurrent1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="AccruedProfessionalFeesCurrent" xlink:title="AccruedProfessionalFeesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedProfessionalFeesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedProfessionalFeesCurrent" xml:lang="en-US" id="us-gaap_AccruedProfessionalFeesCurrent">Professional and consulting</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedProfessionalFeesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent" xlink:title="label: AccruedProfessionalFeesCurrent to us-gaap_AccruedProfessionalFeesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeRelatedLiabilitiesCurrent" xml:lang="en-US" id="us-gaap_EmployeeRelatedLiabilitiesCurrent">Salaries and compensation related</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:title="label: EmployeeRelatedLiabilitiesCurrent to us-gaap_EmployeeRelatedLiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_TaxesPayableCurrent" xml:lang="en-US" id="us-gaap_TaxesPayableCurrent">Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent" xlink:title="label: TaxesPayableCurrent to us-gaap_TaxesPayableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxesPayableCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxesPayableCurrent_lbl1" xml:lang="en-US" id="us-gaap_TaxesPayableCurrent_lbl1">Taxes Payable, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl1" xlink:title="label: TaxesPayableCurrent to us-gaap_TaxesPayableCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">Share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">Income (loss) before income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentsGeographicalAreasAbstract" xlink:label="SegmentsGeographicalAreasAbstract" xlink:title="SegmentsGeographicalAreasAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentsGeographicalAreasAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SegmentsGeographicalAreasAbstract" xml:lang="en-US" id="us-gaap_SegmentsGeographicalAreasAbstract">Geographical area information [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="us-gaap_SegmentsGeographicalAreasAbstract" xlink:title="label: SegmentsGeographicalAreasAbstract to us-gaap_SegmentsGeographicalAreasAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentsGeographicalAreasAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentsGeographicalAreasAbstract_lbl1" xml:lang="en-US" id="us-gaap_SegmentsGeographicalAreasAbstract_lbl1">Segments, Geographical Areas [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="us-gaap_SegmentsGeographicalAreasAbstract_lbl1" xlink:title="label: SegmentsGeographicalAreasAbstract to us-gaap_SegmentsGeographicalAreasAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xml:lang="en-US" id="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="label: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xml:lang="en-US" id="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="label: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">Accrued liabilities and other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="label: IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1">Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1" xlink:title="label: IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US" id="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">Withholding taxes paid on stock issuance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="label: PaymentsRelatedToTaxWithholdingForShareBasedCompensation to us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: PaymentsRelatedToTaxWithholdingForShareBasedCompensation to us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">Relinquishment of stock awards and deferred stock units to pay withholding taxes (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xml:lang="en-US" id="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">Summary of significant accounting policies</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="label: BasisOfPresentationAndSignificantAccountingPoliciesTextBlock to us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1" xml:lang="en-US" id="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1" xlink:title="label: BasisOfPresentationAndSignificantAccountingPoliciesTextBlock to us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="PayablesAndAccrualsAbstract" xlink:title="PayablesAndAccrualsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PayablesAndAccrualsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PayablesAndAccrualsAbstract" xml:lang="en-US" id="us-gaap_PayablesAndAccrualsAbstract">Accrued liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract" xlink:title="label: PayablesAndAccrualsAbstract to us-gaap_PayablesAndAccrualsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock">Net Sales and Fixed Assets by Geographic Area</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:title="label: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock to us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">Deferred Tax Assets and Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="label: ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock to us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">Components of Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="label: ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock to us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xlink:title="label: ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock to us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">Statutory to Effective Tax Rate Reconciliation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="label: ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock to us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1" xlink:title="label: ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock to us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:title="ScheduleOfAccruedLiabilitiesTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">Accrued Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:title="label: ScheduleOfAccruedLiabilitiesTableTextBlock to us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1" xlink:title="label: ScheduleOfAccruedLiabilitiesTableTextBlock to us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="ScheduleOfInventoryCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfInventoryCurrentTableTextBlock">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:title="label: ScheduleOfInventoryCurrentTableTextBlock to us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xlink:title="label: ScheduleOfInventoryCurrentTableTextBlock to us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureAbstract" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureAbstract">Income taxes [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract" xlink:title="label: IncomeTaxDisclosureAbstract to us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xml:lang="en-US" id="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">Intangible assets, net [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="label: GoodwillAndIntangibleAssetsDisclosureAbstract to us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="SubsequentEventsTextBlock" xlink:title="SubsequentEventsTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SubsequentEventsTextBlock" xml:lang="en-US" id="us-gaap_SubsequentEventsTextBlock">Subsequent events</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:title="label: SubsequentEventsTextBlock to us-gaap_SubsequentEventsTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SubsequentEventsTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SubsequentEventsTextBlock_lbl1">Subsequent Events [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl1" xlink:title="label: SubsequentEventsTextBlock to us-gaap_SubsequentEventsTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryDisclosureAbstract" xml:lang="en-US" id="us-gaap_InventoryDisclosureAbstract">Inventories [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract" xlink:title="label: InventoryDisclosureAbstract to us-gaap_InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureAbstract" xml:lang="en-US" id="us-gaap_DebtDisclosureAbstract">Borrowings [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract" xlink:title="label: DebtDisclosureAbstract to us-gaap_DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CompensationAndRetirementDisclosureAbstract" xml:lang="en-US" id="us-gaap_CompensationAndRetirementDisclosureAbstract">Retirement savings plan [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:title="label: CompensationAndRetirementDisclosureAbstract to us-gaap_CompensationAndRetirementDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="CompensationAndEmployeeBenefitPlansTextBlock" xlink:title="CompensationAndEmployeeBenefitPlansTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xml:lang="en-US" id="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock">Retirement savings plan</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CompensationAndEmployeeBenefitPlansTextBlock" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:title="label: CompensationAndEmployeeBenefitPlansTextBlock to us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:title="ScheduleOfQuarterlyFinancialInformationTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">Quarterly Results of Operations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:title="label: ScheduleOfQuarterlyFinancialInformationTableTextBlock to us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1">Quarterly Financial Information [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1" xlink:title="label: ScheduleOfQuarterlyFinancialInformationTableTextBlock to us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:label="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:title="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock">Allowance for Expected Credit Losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:title="label: ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock to us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1">Financing Receivable, Current, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1" xlink:title="label: ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock to us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock">Equity Awards Vested and Expected to Vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:title="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">Stock Option Activity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:title="label: ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock to us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:title="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">Assumptions Used in Option Valuation Calculations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:title="label: ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock to us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="TreasuryStockTextBlock" xlink:title="TreasuryStockTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockTextBlock" xml:lang="en-US" id="us-gaap_TreasuryStockTextBlock">Stock repurchase program</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockTextBlock" xlink:to="us-gaap_TreasuryStockTextBlock" xlink:title="label: TreasuryStockTextBlock to us-gaap_TreasuryStockTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="QuarterlyFinancialInformationDisclosureAbstract" xlink:title="QuarterlyFinancialInformationDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xml:lang="en-US" id="us-gaap_QuarterlyFinancialInformationDisclosureAbstract">Quarterly results of operations (unaudited) [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:title="label: QuarterlyFinancialInformationDisclosureAbstract to us-gaap_QuarterlyFinancialInformationDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xml:lang="en-US" id="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">Stock incentive plans [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="label: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="UseOfEstimates" xlink:title="UseOfEstimates" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UseOfEstimates" xml:lang="en-US" id="us-gaap_UseOfEstimates">Use of estimates</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UseOfEstimates" xlink:to="us-gaap_UseOfEstimates" xlink:title="label: UseOfEstimates to us-gaap_UseOfEstimates" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="SegmentReportingPolicyPolicyTextBlock" xlink:title="SegmentReportingPolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentReportingPolicyPolicyTextBlock" xml:lang="en-US" id="us-gaap_SegmentReportingPolicyPolicyTextBlock">Segment reporting</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:title="label: SegmentReportingPolicyPolicyTextBlock to us-gaap_SegmentReportingPolicyPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">Percentage fee on unused borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="label: LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage to us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xlink:title="label: LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage to us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RestrictedStockUnitsRSUMember" xml:lang="en-US" id="us-gaap_RestrictedStockUnitsRSUMember">Restricted Share Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:title="label: RestrictedStockUnitsRSUMember to us-gaap_RestrictedStockUnitsRSUMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="GoodwillAndIntangibleAssetImpairment" xlink:title="GoodwillAndIntangibleAssetImpairment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_GoodwillAndIntangibleAssetImpairment" xml:lang="en-US" id="us-gaap_GoodwillAndIntangibleAssetImpairment">Impairment of goodwill and intangible assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GoodwillAndIntangibleAssetImpairment" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:title="label: GoodwillAndIntangibleAssetImpairment to us-gaap_GoodwillAndIntangibleAssetImpairment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1" xml:lang="en-US" id="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1">Goodwill and Intangible Asset Impairment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GoodwillAndIntangibleAssetImpairment" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1" xlink:title="label: GoodwillAndIntangibleAssetImpairment to us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInPrepaidTaxes" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidTaxes">Prepaid income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidTaxes" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:title="label: IncreaseDecreaseInPrepaidTaxes to us-gaap_IncreaseDecreaseInPrepaidTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1">Increase (Decrease) in Prepaid Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidTaxes" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xlink:title="label: IncreaseDecreaseInPrepaidTaxes to us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountingPoliciesAbstract" xml:lang="en-US" id="us-gaap_AccountingPoliciesAbstract">Summary of significant accounting policies [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:title="label: AccountingPoliciesAbstract to us-gaap_AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SegmentReportingAbstract" xml:lang="en-US" id="us-gaap_SegmentReportingAbstract">Segment reporting [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract" xlink:title="label: SegmentReportingAbstract to us-gaap_SegmentReportingAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingAbstract1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentReportingAbstract1" xml:lang="en-US" id="us-gaap_SegmentReportingAbstract1">Geographic area information [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract1" xlink:title="label: SegmentReportingAbstract to us-gaap_SegmentReportingAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" xlink:title="RelatedPartyTransactionsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RelatedPartyTransactionsAbstract" xml:lang="en-US" id="us-gaap_RelatedPartyTransactionsAbstract">Related party transactions [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract" xlink:title="label: RelatedPartyTransactionsAbstract to us-gaap_RelatedPartyTransactionsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="SubsequentEventsAbstract" xlink:title="SubsequentEventsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SubsequentEventsAbstract" xml:lang="en-US" id="us-gaap_SubsequentEventsAbstract">Subsequent events [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract" xlink:title="label: SubsequentEventsAbstract to us-gaap_SubsequentEventsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="IncomeTaxAuthorityAxis" xlink:title="IncomeTaxAuthorityAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxAuthorityAxis" xml:lang="en-US" id="us-gaap_IncomeTaxAuthorityAxis">Income Tax Authority [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:title="label: IncomeTaxAuthorityAxis to us-gaap_IncomeTaxAuthorityAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:label="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xml:lang="en-US" id="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited">Relinquishment of stock awards and deferred stock units to pay withholding taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:to="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="label: StockGrantedDuringPeriodValueSharebasedCompensationForfeited to us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1" xml:lang="en-US" id="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1">Shares Granted, Value, Share-Based Payment Arrangement, Forfeited</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:to="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1" xlink:title="label: StockGrantedDuringPeriodValueSharebasedCompensationForfeited to us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">Granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">Earnings per Share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="label: ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock to us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xlink:title="label: ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock to us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">Options exercisable, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xml:lang="en-US" id="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent">Employee's contribution percentage for match</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="label: DefinedContributionPlanEmployerMatchingContributionPercent to us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">Identifiable Intangible Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:title="label: ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock to us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xml:lang="en-US" id="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="label: ScheduleOfFiniteLivedIntangibleAssetsTable to us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward">Number of Units [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">Outstanding, beginning of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber1">Outstanding, end of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted">Granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Granted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">Exercised (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures">Forfeited (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Forfeitures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations">Expired (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Expirations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="DeferredTaxLiabilitiesNetAbstract" xlink:title="DeferredTaxLiabilitiesNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilitiesNetAbstract" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesNetAbstract">Deferred tax liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:title="label: DeferredTaxLiabilitiesNetAbstract to us-gaap_DeferredTaxLiabilitiesNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">Weighted Average Grant Stock Price [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">Forfeited (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">Unrecognized compensation cost related to stock options</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1">Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:label="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:title="AllowanceForDoubtfulAccountsReceivableRollforward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward">Allowances for expected credit losses [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:title="label: AllowanceForDoubtfulAccountsReceivableRollforward to us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">Weighted Average Exercise Price [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">Granted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">Exercised (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">Forfeited (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">Expired (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms">Restricted stock units vested and expected to vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PlanNameAxis" xml:lang="en-US" id="us-gaap_PlanNameAxis">Plan Name [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PlanNameAxis" xlink:to="us-gaap_PlanNameAxis" xlink:title="label: PlanNameAxis to us-gaap_PlanNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PlanNameDomain" xml:lang="en-US" id="us-gaap_PlanNameDomain">Plan Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PlanNameDomain" xlink:to="us-gaap_PlanNameDomain" xlink:title="label: PlanNameDomain to us-gaap_PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AwardTypeAxis" xml:lang="en-US" id="us-gaap_AwardTypeAxis">Award Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis" xlink:title="label: AwardTypeAxis to us-gaap_AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementLocationAxis" xml:lang="en-US" id="us-gaap_IncomeStatementLocationAxis">Income Statement Location [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:title="label: IncomeStatementLocationAxis to us-gaap_IncomeStatementLocationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementLocationDomain" xml:lang="en-US" id="us-gaap_IncomeStatementLocationDomain">Income Statement Location [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:title="label: IncomeStatementLocationDomain to us-gaap_IncomeStatementLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xml:lang="en-US" id="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">Recently issued accounting pronouncements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="label: NewAccountingPronouncementsPolicyPolicyTextBlock to us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="ConcentrationRiskCreditRisk" xlink:title="ConcentrationRiskCreditRisk" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskCreditRisk" xml:lang="en-US" id="us-gaap_ConcentrationRiskCreditRisk">Concentration of credit risk</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk" xlink:title="label: ConcentrationRiskCreditRisk to us-gaap_ConcentrationRiskCreditRisk" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentUsefulLife" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentUsefulLife">Estimated useful life</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:title="label: PropertyPlantAndEquipmentUsefulLife to us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl1" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl1">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl1" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">Options exercisable, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">Options vested and expected to vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">Expected option term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">Vesting period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">Weighted average period to recognize compensation cost not yet recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NumberOfOperatingSegments" xml:lang="en-US" id="us-gaap_NumberOfOperatingSegments">Number of operating segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments" xlink:title="label: NumberOfOperatingSegments to us-gaap_NumberOfOperatingSegments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NumberOfOperatingSegments1" xml:lang="en-US" id="us-gaap_NumberOfOperatingSegments1">Number of business segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments1" xlink:title="label: NumberOfOperatingSegments to us-gaap_NumberOfOperatingSegments1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ConcentrationRiskPercentage1" xml:lang="en-US" id="us-gaap_ConcentrationRiskPercentage1">Concentration risk percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:title="label: ConcentrationRiskPercentage1 to us-gaap_ConcentrationRiskPercentage1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskPercentage1_lbl1" xml:lang="en-US" id="us-gaap_ConcentrationRiskPercentage1_lbl1">Concentration Risk, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl1" xlink:title="label: ConcentrationRiskPercentage1 to us-gaap_ConcentrationRiskPercentage1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">Foreign currency translation adjustment, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1">Foreign currency translation adjustment, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xml:lang="en-US" id="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">Basis spread on variable rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="label: DebtInstrumentBasisSpreadOnVariableRate1 to us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SalesRevenueNetMember" xml:lang="en-US" id="us-gaap_SalesRevenueNetMember">Sales [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember" xlink:title="label: SalesRevenueNetMember to us-gaap_SalesRevenueNetMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1">Fair value of all awards vested</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:title="AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">Deductions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:title="label: AllowanceForDoubtfulAccountsReceivableWriteOffs to us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1" xlink:title="label: AllowanceForDoubtfulAccountsReceivableWriteOffs to us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">Term of award</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="TechnologyBasedIntangibleAssetsMember" xlink:title="TechnologyBasedIntangibleAssetsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TechnologyBasedIntangibleAssetsMember" xml:lang="en-US" id="us-gaap_TechnologyBasedIntangibleAssetsMember">Purchased Technology [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TechnologyBasedIntangibleAssetsMember" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:title="label: TechnologyBasedIntangibleAssetsMember to us-gaap_TechnologyBasedIntangibleAssetsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">Restricted stock units vested and expected to vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xml:lang="en-US" id="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">Employer matching contribution percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="label: DefinedContributionPlanEmployerMatchingContributionPercentOfMatch to us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">Weighted average fair value of grants (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VariableRateAxis" xml:lang="en-US" id="us-gaap_VariableRateAxis">Variable Rate [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VariableRateAxis" xlink:to="us-gaap_VariableRateAxis" xlink:title="label: VariableRateAxis to us-gaap_VariableRateAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VariableRateDomain" xml:lang="en-US" id="us-gaap_VariableRateDomain">Variable Rate [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VariableRateDomain" xlink:to="us-gaap_VariableRateDomain" xlink:title="label: VariableRateDomain to us-gaap_VariableRateDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PrimeRateMember" xml:lang="en-US" id="us-gaap_PrimeRateMember">Prime Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrimeRateMember" xlink:to="us-gaap_PrimeRateMember" xlink:title="label: PrimeRateMember to us-gaap_PrimeRateMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FederalFundsEffectiveSwapRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FederalFundsEffectiveSwapRateMember" xml:lang="en-US" id="us-gaap_FederalFundsEffectiveSwapRateMember">Federal Funds Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FederalFundsEffectiveSwapRateMember" xlink:to="us-gaap_FederalFundsEffectiveSwapRateMember" xlink:title="label: FederalFundsEffectiveSwapRateMember to us-gaap_FederalFundsEffectiveSwapRateMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xml:lang="en-US" id="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1">Fed Funds Effective Rate Overnight Index Swap Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FederalFundsEffectiveSwapRateMember" xlink:to="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xlink:title="label: FederalFundsEffectiveSwapRateMember to us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet">Deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet_lbl1">Deferred Income Tax Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:label="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:title="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xml:lang="en-US" id="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible">Expected decrease in unrecognized tax benefits in next year</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:to="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:title="label: DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible to us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1" xml:lang="en-US" id="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1">Decrease in Unrecognized Tax Benefits is Reasonably Possible</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:to="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1" xlink:title="label: DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible to us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonMember" xml:lang="en-US" id="us-gaap_TreasuryStockCommonMember">Treasury Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember" xlink:title="label: TreasuryStockCommonMember to us-gaap_TreasuryStockCommonMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonShares" xml:lang="en-US" id="us-gaap_TreasuryStockCommonShares">Treasury stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares" xlink:title="label: TreasuryStockCommonShares to us-gaap_TreasuryStockCommonShares" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueAbstract" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueAbstract">Disaggregation of revenue [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueAbstract" xlink:title="label: DisaggregationOfRevenueAbstract to us-gaap_DisaggregationOfRevenueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DisaggregationOfRevenueTableTextBlock" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTableTextBlock">Disaggregation of Revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:title="label: DisaggregationOfRevenueTableTextBlock to us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xlink:title="label: DisaggregationOfRevenueTableTextBlock to us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTable" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTable">Disaggregation of Revenue [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable" xlink:title="label: DisaggregationOfRevenueTable to us-gaap_DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueLineItems" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueLineItems">Disaggregation of Revenue [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" xlink:title="label: DisaggregationOfRevenueLineItems to us-gaap_DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueRemainingPerformanceObligation" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligation">Remaining performance obligations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:title="label: RevenueRemainingPerformanceObligation to us-gaap_RevenueRemainingPerformanceObligation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligation_lbl1">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xlink:title="label: RevenueRemainingPerformanceObligation to us-gaap_RevenueRemainingPerformanceObligation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetNetCurrent" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetCurrent">Unbilled receivables, current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:title="label: ContractWithCustomerAssetNetCurrent to us-gaap_ContractWithCustomerAssetNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1">Contract with Customer, Asset, after Allowance for Credit Loss, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xlink:title="label: ContractWithCustomerAssetNetCurrent to us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetNetNoncurrent" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetNoncurrent">Unbilled receivables, non-current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetNoncurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:title="label: ContractWithCustomerAssetNetNoncurrent to us-gaap_ContractWithCustomerAssetNetNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1">Contract with Customer, Asset, after Allowance for Credit Loss, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetNoncurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xlink:title="label: ContractWithCustomerAssetNetNoncurrent to us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="ContractWithCustomerAssetAndLiabilityAbstract" xlink:title="ContractWithCustomerAssetAndLiabilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract">Net contract (liabilities) assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:title="label: ContractWithCustomerAssetAndLiabilityAbstract to us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl1">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl1" xlink:title="label: ContractWithCustomerAssetAndLiabilityAbstract to us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenuePerformanceObligationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenuePerformanceObligationAbstract" xml:lang="en-US" id="us-gaap_RevenuePerformanceObligationAbstract">Remaining performance obligations [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="us-gaap_RevenuePerformanceObligationAbstract" xlink:title="label: RevenuePerformanceObligationAbstract to us-gaap_RevenuePerformanceObligationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xml:lang="en-US" id="us-gaap_RevenuePerformanceObligationAbstract_lbl1">Revenue, Performance Obligation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xlink:title="label: RevenuePerformanceObligationAbstract to us-gaap_RevenuePerformanceObligationAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="AssetsAndLiabilitiesLesseeAbstract" xlink:title="AssetsAndLiabilitiesLesseeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xml:lang="en-US" id="us-gaap_AssetsAndLiabilitiesLesseeAbstract">Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:title="label: AssetsAndLiabilitiesLesseeAbstract to us-gaap_AssetsAndLiabilitiesLesseeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1" xml:lang="en-US" id="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1">Assets and Liabilities, Lessee [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1" xlink:title="label: AssetsAndLiabilitiesLesseeAbstract to us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="CashFlowOperatingActivitiesLesseeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xml:lang="en-US" id="us-gaap_CashFlowOperatingActivitiesLesseeAbstract">Cash Flows Related to Operating Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:title="label: CashFlowOperatingActivitiesLesseeAbstract to us-gaap_CashFlowOperatingActivitiesLesseeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xml:lang="en-US" id="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1">Cash Flow, Operating Activities, Lessee [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xlink:title="label: CashFlowOperatingActivitiesLesseeAbstract to us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityCurrent" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityCurrent">Deferred revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:title="label: ContractWithCustomerLiabilityCurrent to us-gaap_ContractWithCustomerLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityCurrent1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityCurrent1">Deferred revenue, current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent1" xlink:title="label: ContractWithCustomerLiabilityCurrent to us-gaap_ContractWithCustomerLiabilityCurrent1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityNoncurrent" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityNoncurrent">Deferred revenue, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:title="label: ContractWithCustomerLiabilityNoncurrent to us-gaap_ContractWithCustomerLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityNoncurrent1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityNoncurrent1">Deferred revenue, non-current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent1" xlink:title="label: ContractWithCustomerLiabilityNoncurrent to us-gaap_ContractWithCustomerLiabilityNoncurrent1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAsset">Right-of-use assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:title="label: OperatingLeaseRightOfUseAsset to us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseRightOfUseAsset_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAsset_lbl1">Operating Lease, Right-of-Use Asset</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl1" xlink:title="label: OperatingLeaseRightOfUseAsset to us-gaap_OperatingLeaseRightOfUseAsset_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">Maturity of Operating Lease Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="label: OperatingLeaseLiabilitiesPaymentsDueAbstract to us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1">Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xlink:title="label: OperatingLeaseLiabilitiesPaymentsDueAbstract to us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">Net sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1">Sales revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeaseDescriptionTable" xml:lang="en-US" id="us-gaap_LesseeLeaseDescriptionTable">Lessee, Lease, Description [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable" xlink:title="label: LesseeLeaseDescriptionTable to us-gaap_LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeaseDescriptionLineItems" xml:lang="en-US" id="us-gaap_LesseeLeaseDescriptionLineItems">Lessee, Lease, Description [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems" xlink:title="label: LesseeLeaseDescriptionLineItems to us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:label="LesseeOperatingLeaseDescriptionAbstract" xlink:title="LesseeOperatingLeaseDescriptionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseDescriptionAbstract" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseDescriptionAbstract">Operating Lease Weighted Average Remaining Lease Term and Discount Rate [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:title="label: LesseeOperatingLeaseDescriptionAbstract to us-gaap_LesseeOperatingLeaseDescriptionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1">Lessee, Operating Lease, Description [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xlink:title="label: LesseeOperatingLeaseDescriptionAbstract to us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US" id="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="label: EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">Increase (decrease) in cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">Cash and cash equivalents, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1">Cash and cash equivalents, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="OperatingLeasePayments" xlink:title="OperatingLeasePayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeasePayments" xml:lang="en-US" id="us-gaap_OperatingLeasePayments">Operating cash outflows from leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments" xlink:title="label: OperatingLeasePayments to us-gaap_OperatingLeasePayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeasePayments_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeasePayments_lbl1">Operating Lease, Payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl1" xlink:title="label: OperatingLeasePayments to us-gaap_OperatingLeasePayments_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">Weighted average discount rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="label: OperatingLeaseWeightedAverageDiscountRatePercent to us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:title="label: OperatingLeaseWeightedAverageDiscountRatePercent to us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">Total undiscounted lease payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDue to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDue to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions">Excess tax benefit in provision for income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="label: EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions to us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearThree to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearThree to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearTwo to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearTwo to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">Maturity of Operating Lease Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="label: LesseeOperatingLeaseLiabilityMaturityTableTextBlock to us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityMaturityTableTextBlock to us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="OperatingLeaseExpense" xlink:title="OperatingLeaseExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseExpense" xml:lang="en-US" id="us-gaap_OperatingLeaseExpense">Operating lease expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense" xlink:title="label: OperatingLeaseExpense to us-gaap_OperatingLeaseExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseExpense_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseExpense_lbl1">Operating Lease, Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl1" xlink:title="label: OperatingLeaseExpense to us-gaap_OperatingLeaseExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiability" xml:lang="en-US" id="us-gaap_OperatingLeaseLiability">Total lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability" xlink:title="label: OperatingLeaseLiability to us-gaap_OperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiability_lbl1">Operating Lease, Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl1" xlink:title="label: OperatingLeaseLiability to us-gaap_OperatingLeaseLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityCurrent" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityCurrent">Lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:title="label: OperatingLeaseLiabilityCurrent to us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">Less imputed interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="label: LesseeOperatingLeaseLiabilityUndiscountedExcessAmount to us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrent">Lease liabilities, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:title="label: OperatingLeaseLiabilityNoncurrent to us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">Net Contract (Liabilities) Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="label: ContractWithCustomerAssetAndLiabilityTableTextBlock to us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xlink:title="label: ContractWithCustomerAssetAndLiabilityTableTextBlock to us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="LesseeLeasesPolicyTextBlock" xlink:title="LesseeLeasesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeasesPolicyTextBlock" xml:lang="en-US" id="us-gaap_LesseeLeasesPolicyTextBlock">Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock" xlink:title="label: LesseeLeasesPolicyTextBlock to us-gaap_LesseeLeasesPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="LesseeOperatingLeasesTextBlock" xlink:title="LesseeOperatingLeasesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeasesTextBlock" xml:lang="en-US" id="us-gaap_LesseeOperatingLeasesTextBlock">Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" xlink:title="label: LesseeOperatingLeasesTextBlock to us-gaap_LesseeOperatingLeasesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeasesTextBlock_lbl1">Lessee, Operating Leases [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xlink:title="label: LesseeOperatingLeasesTextBlock to us-gaap_LesseeOperatingLeasesTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">Weighted average remaining lease term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="label: OperatingLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:title="label: OperatingLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">Expected timing of satisfaction, period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">Stock award excess tax benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="label: EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent to us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent to us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">Revenue recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="label: RevenueFromContractWithCustomerPolicyTextBlock to us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="LesseeOperatingLeaseRemainingLeaseTerm" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm">Remaining lease terms</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseRemainingLeaseTerm" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="label: LesseeOperatingLeaseRemainingLeaseTerm to us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1">Lessee, Operating Lease, Remaining Lease Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseRemainingLeaseTerm" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1" xlink:title="label: LesseeOperatingLeaseRemainingLeaseTerm to us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingLeaseLiability">Increase in operating lease liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:title="label: IncreaseDecreaseInOperatingLeaseLiability to us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1">Increase (Decrease) in Operating Lease Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xlink:title="label: IncreaseDecreaseInOperatingLeaseLiability to us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:title="EffectiveIncomeTaxRateReconciliationFdiiPercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent">Foreign-derived intangible income deduction</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:title="label: EffectiveIncomeTaxRateReconciliationFdiiPercent to us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl1">Effective Income Tax Rate Reconciliation, FDII, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationFdiiPercent to us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="RelatedPartyMember" xlink:title="RelatedPartyMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RelatedPartyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RelatedPartyMember" xml:lang="en-US" id="us-gaap_RelatedPartyMember">Related Party [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RelatedPartyMember" xlink:to="us-gaap_RelatedPartyMember" xlink:title="label: RelatedPartyMember to us-gaap_RelatedPartyMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:label xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_NameOfMajorCustomerDomain" xml:lang="en-US" id="srt_NameOfMajorCustomerDomain">Customer [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain" xlink:title="label: NameOfMajorCustomerDomain to srt_NameOfMajorCustomerDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="ValuationAndQualifyingAccountsDisclosureLineItems" />
    <link:label xlink:type="resource" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xml:lang="en-US" id="srt_ValuationAndQualifyingAccountsDisclosureLineItems">Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="label: ValuationAndQualifyingAccountsDisclosureLineItems to srt_ValuationAndQualifyingAccountsDisclosureLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="ValuationAndQualifyingAccountsDisclosureTable" />
    <link:label xlink:type="resource" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ValuationAndQualifyingAccountsDisclosureTable" xml:lang="en-US" id="srt_ValuationAndQualifyingAccountsDisclosureTable">Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAndQualifyingAccountsDisclosureTable" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:title="label: ValuationAndQualifyingAccountsDisclosureTable to srt_ValuationAndQualifyingAccountsDisclosureTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="ScenarioUnspecifiedDomain" xlink:title="ScenarioUnspecifiedDomain" />
    <link:label xlink:type="resource" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ScenarioUnspecifiedDomain" xml:lang="en-US" id="srt_ScenarioUnspecifiedDomain">Scenario [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:title="label: ScenarioUnspecifiedDomain to srt_ScenarioUnspecifiedDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="ScenarioForecastMember" xlink:title="ScenarioForecastMember" />
    <link:label xlink:type="resource" xlink:label="srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ScenarioForecastMember" xml:lang="en-US" id="srt_ScenarioForecastMember">Forecast [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember" xlink:title="label: ScenarioForecastMember to srt_ScenarioForecastMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="StatementScenarioAxis" xlink:title="StatementScenarioAxis" />
    <link:label xlink:type="resource" xlink:label="srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_StatementScenarioAxis" xml:lang="en-US" id="srt_StatementScenarioAxis">Scenario [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis" xlink:title="label: StatementScenarioAxis to srt_StatementScenarioAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:label xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_SegmentGeographicalDomain" xml:lang="en-US" id="srt_SegmentGeographicalDomain">Geographical [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain" xlink:title="label: SegmentGeographicalDomain to srt_SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:label xlink:type="resource" xlink:label="srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_StatementGeographicalAxis" xml:lang="en-US" id="srt_StatementGeographicalAxis">Geographical [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis" xlink:title="label: StatementGeographicalAxis to srt_StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:label xlink:type="resource" xlink:label="srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MajorCustomersAxis" xml:lang="en-US" id="srt_MajorCustomersAxis">Customer [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis" xlink:title="label: MajorCustomersAxis to srt_MajorCustomersAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:label xlink:type="resource" xlink:label="srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeAxis" xml:lang="en-US" id="srt_RangeAxis">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeAxis" xlink:to="srt_RangeAxis" xlink:title="label: RangeAxis to srt_RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:label xlink:type="resource" xlink:label="srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeMember" xml:lang="en-US" id="srt_RangeMember">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeMember" xlink:to="srt_RangeMember" xlink:title="label: RangeMember to srt_RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MaximumMember" xml:lang="en-US" id="srt_MaximumMember">Maximum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MaximumMember" xlink:to="srt_MaximumMember" xlink:title="label: MaximumMember to srt_MaximumMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MinimumMember" xml:lang="en-US" id="srt_MinimumMember">Minimum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MinimumMember" xlink:to="srt_MinimumMember" xlink:title="label: MinimumMember to srt_MinimumMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="CounterpartyNameAxis" xlink:title="CounterpartyNameAxis" />
    <link:label xlink:type="resource" xlink:label="srt_CounterpartyNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_CounterpartyNameAxis" xml:lang="en-US" id="srt_CounterpartyNameAxis">Counterparty Name [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis" xlink:title="label: CounterpartyNameAxis to srt_CounterpartyNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="RepurchaseAgreementCounterpartyNameDomain" xlink:title="RepurchaseAgreementCounterpartyNameDomain" />
    <link:label xlink:type="resource" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RepurchaseAgreementCounterpartyNameDomain" xml:lang="en-US" id="srt_RepurchaseAgreementCounterpartyNameDomain">Counterparty Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:title="label: RepurchaseAgreementCounterpartyNameDomain to srt_RepurchaseAgreementCounterpartyNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="ConsolidationItemsAxis" xlink:title="ConsolidationItemsAxis" />
    <link:label xlink:type="resource" xlink:label="srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ConsolidationItemsAxis" xml:lang="en-US" id="srt_ConsolidationItemsAxis">Consolidation Items [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis" xlink:title="label: ConsolidationItemsAxis to srt_ConsolidationItemsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="ConsolidationItemsDomain" xlink:title="ConsolidationItemsDomain" />
    <link:label xlink:type="resource" xlink:label="srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ConsolidationItemsDomain" xml:lang="en-US" id="srt_ConsolidationItemsDomain">Consolidation Items [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain" xlink:title="label: ConsolidationItemsDomain to srt_ConsolidationItemsDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ReportableGeographicalComponentsMember" xlink:label="ReportableGeographicalComponentsMember" xlink:title="ReportableGeographicalComponentsMember" />
    <link:label xlink:type="resource" xlink:label="srt_ReportableGeographicalComponentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ReportableGeographicalComponentsMember" xml:lang="en-US" id="srt_ReportableGeographicalComponentsMember">Reportable Geographical Components [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReportableGeographicalComponentsMember" xlink:to="srt_ReportableGeographicalComponentsMember" xlink:title="label: ReportableGeographicalComponentsMember to srt_ReportableGeographicalComponentsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="EuropeMember" xlink:title="EuropeMember" />
    <link:label xlink:type="resource" xlink:label="srt_EuropeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_EuropeMember" xml:lang="en-US" id="srt_EuropeMember">Europe [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EuropeMember" xlink:to="srt_EuropeMember" xlink:title="label: EuropeMember to srt_EuropeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:label xlink:type="resource" xlink:label="srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ProductsAndServicesDomain" xml:lang="en-US" id="srt_ProductsAndServicesDomain">Product and Service [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain" xlink:title="label: ProductsAndServicesDomain to srt_ProductsAndServicesDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:label xlink:type="resource" xlink:label="srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ProductOrServiceAxis" xml:lang="en-US" id="srt_ProductOrServiceAxis">Product and Service [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis" xlink:title="label: ProductOrServiceAxis to srt_ProductOrServiceAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:label xlink:type="resource" xlink:label="country_CA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="country_CA" xml:lang="en-US" id="country_CA">Canada [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CA" xlink:to="country_CA" xlink:title="label: CA to country_CA" />
    <link:label xlink:type="resource" xlink:label="country_CA_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_CA_lbl1" xml:lang="en-US" id="country_CA_lbl1">CANADA</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CA" xlink:to="country_CA_lbl1" xlink:title="label: CA to country_CA_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:label xlink:type="resource" xlink:label="country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_US" xml:lang="en-US" id="country_US">United States [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="US" xlink:to="country_US" xlink:title="label: US to country_US" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:label xlink:type="resource" xlink:label="dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CoverAbstract" xml:lang="en-US" id="dei_CoverAbstract">Cover [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CoverAbstract" xlink:to="dei_CoverAbstract" xlink:title="label: CoverAbstract to dei_CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentType" xml:lang="en-US" id="dei_DocumentType">Document Type</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentType" xlink:to="dei_DocumentType" xlink:title="label: DocumentType to dei_DocumentType" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="DocumentAnnualReport" xlink:title="DocumentAnnualReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentAnnualReport" xml:lang="en-US" id="dei_DocumentAnnualReport">Document Annual Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport" xlink:title="label: DocumentAnnualReport to dei_DocumentAnnualReport" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentTransitionReport" xml:lang="en-US" id="dei_DocumentTransitionReport">Document Transition Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport" xlink:title="label: DocumentTransitionReport to dei_DocumentTransitionReport" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="DocumentFinStmtErrorCorrectionFlag" xlink:title="DocumentFinStmtErrorCorrectionFlag" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFinStmtErrorCorrectionFlag" xml:lang="en-US" id="dei_DocumentFinStmtErrorCorrectionFlag">Document Financial Statement Error Correction [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag" xlink:title="label: DocumentFinStmtErrorCorrectionFlag to dei_DocumentFinStmtErrorCorrectionFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:label="DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:title="DocumentFinStmtRestatementRecoveryAnalysisFlag" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xml:lang="en-US" id="dei_DocumentFinStmtRestatementRecoveryAnalysisFlag">Document Financial Statement Restatement Recovery Analysis [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:to="dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:title="label: DocumentFinStmtRestatementRecoveryAnalysisFlag to dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:label xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityInteractiveDataCurrent" xml:lang="en-US" id="dei_EntityInteractiveDataCurrent">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent" xlink:title="label: EntityInteractiveDataCurrent to dei_EntityInteractiveDataCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:label xlink:type="resource" xlink:label="dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AmendmentFlag" xml:lang="en-US" id="dei_AmendmentFlag">Amendment Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmendmentFlag" xlink:to="dei_AmendmentFlag" xlink:title="label: AmendmentFlag to dei_AmendmentFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="IcfrAuditorAttestationFlag" xlink:title="IcfrAuditorAttestationFlag" />
    <link:label xlink:type="resource" xlink:label="dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_IcfrAuditorAttestationFlag" xml:lang="en-US" id="dei_IcfrAuditorAttestationFlag">ICFR Auditor Attestation Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag" xlink:title="label: IcfrAuditorAttestationFlag to dei_IcfrAuditorAttestationFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalYearFocus" xml:lang="en-US" id="dei_DocumentFiscalYearFocus">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus" xlink:title="label: DocumentFiscalYearFocus to dei_DocumentFiscalYearFocus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalPeriodFocus" xml:lang="en-US" id="dei_DocumentFiscalPeriodFocus">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:title="label: DocumentFiscalPeriodFocus to dei_DocumentFiscalPeriodFocus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentPeriodEndDate" xml:lang="en-US" id="dei_DocumentPeriodEndDate">Document Period End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate" xlink:title="label: DocumentPeriodEndDate to dei_DocumentPeriodEndDate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:label xlink:type="resource" xlink:label="dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityRegistrantName" xml:lang="en-US" id="dei_EntityRegistrantName">Entity Registrant Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityRegistrantName" xlink:to="dei_EntityRegistrantName" xlink:title="label: EntityRegistrantName to dei_EntityRegistrantName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCentralIndexKey" xml:lang="en-US" id="dei_EntityCentralIndexKey">Entity Central Index Key</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey" xlink:title="label: EntityCentralIndexKey to dei_EntityCentralIndexKey" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFileNumber" xml:lang="en-US" id="dei_EntityFileNumber">Entity File Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFileNumber" xlink:to="dei_EntityFileNumber" xlink:title="label: EntityFileNumber to dei_EntityFileNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityTaxIdentificationNumber" xml:lang="en-US" id="dei_EntityTaxIdentificationNumber">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber" xlink:title="label: EntityTaxIdentificationNumber to dei_EntityTaxIdentificationNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityIncorporationStateCountryCode" xml:lang="en-US" id="dei_EntityIncorporationStateCountryCode">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:title="label: EntityIncorporationStateCountryCode to dei_EntityIncorporationStateCountryCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CurrentFiscalYearEndDate" xml:lang="en-US" id="dei_CurrentFiscalYearEndDate">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate" xlink:title="label: CurrentFiscalYearEndDate to dei_CurrentFiscalYearEndDate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="EntityWellKnownSeasonedIssuer" xlink:title="EntityWellKnownSeasonedIssuer" />
    <link:label xlink:type="resource" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityWellKnownSeasonedIssuer" xml:lang="en-US" id="dei_EntityWellKnownSeasonedIssuer">Entity Well-known Seasoned Issuer</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer" xlink:title="label: EntityWellKnownSeasonedIssuer to dei_EntityWellKnownSeasonedIssuer" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="EntityVoluntaryFilers" xlink:title="EntityVoluntaryFilers" />
    <link:label xlink:type="resource" xlink:label="dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityVoluntaryFilers" xml:lang="en-US" id="dei_EntityVoluntaryFilers">Entity Voluntary Filers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers" xlink:title="label: EntityVoluntaryFilers to dei_EntityVoluntaryFilers" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCurrentReportingStatus" xml:lang="en-US" id="dei_EntityCurrentReportingStatus">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus" xlink:title="label: EntityCurrentReportingStatus to dei_EntityCurrentReportingStatus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityShellCompany" xml:lang="en-US" id="dei_EntityShellCompany">Entity Shell Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityShellCompany" xlink:to="dei_EntityShellCompany" xlink:title="label: EntityShellCompany to dei_EntityShellCompany" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFilerCategory" xml:lang="en-US" id="dei_EntityFilerCategory">Entity Filer Category</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFilerCategory" xlink:to="dei_EntityFilerCategory" xlink:title="label: EntityFilerCategory to dei_EntityFilerCategory" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:label xlink:type="resource" xlink:label="dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntitySmallBusiness" xml:lang="en-US" id="dei_EntitySmallBusiness">Entity Small Business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness" xlink:title="label: EntitySmallBusiness to dei_EntitySmallBusiness" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityEmergingGrowthCompany" xml:lang="en-US" id="dei_EntityEmergingGrowthCompany">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany" xlink:title="label: EntityEmergingGrowthCompany to dei_EntityEmergingGrowthCompany" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="EntityPublicFloat" xlink:title="EntityPublicFloat" />
    <link:label xlink:type="resource" xlink:label="dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityPublicFloat" xml:lang="en-US" id="dei_EntityPublicFloat">Entity Public Float</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityPublicFloat" xlink:to="dei_EntityPublicFloat" xlink:title="label: EntityPublicFloat to dei_EntityPublicFloat" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine1" xml:lang="en-US" id="dei_EntityAddressAddressLine1">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1" xlink:title="label: EntityAddressAddressLine1 to dei_EntityAddressAddressLine1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="EntityAddressAddressLine2" xlink:title="EntityAddressAddressLine2" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine2" xml:lang="en-US" id="dei_EntityAddressAddressLine2">Entity Address, Address Line Two</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2" xlink:title="label: EntityAddressAddressLine2 to dei_EntityAddressAddressLine2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="EntityAddressAddressLine3" xlink:title="EntityAddressAddressLine3" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine3" xml:lang="en-US" id="dei_EntityAddressAddressLine3">Entity Address, Address Line Three</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3" xlink:title="label: EntityAddressAddressLine3 to dei_EntityAddressAddressLine3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressCityOrTown" xml:lang="en-US" id="dei_EntityAddressCityOrTown">Entity Address, City or Town</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown" xlink:title="label: EntityAddressCityOrTown to dei_EntityAddressCityOrTown" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressStateOrProvince" xml:lang="en-US" id="dei_EntityAddressStateOrProvince">Entity Address, State or Province</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince" xlink:title="label: EntityAddressStateOrProvince to dei_EntityAddressStateOrProvince" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="EntityAddressCountry" xlink:title="EntityAddressCountry" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressCountry" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressCountry" xml:lang="en-US" id="dei_EntityAddressCountry">Entity Address, Country</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressCountry" xlink:to="dei_EntityAddressCountry" xlink:title="label: EntityAddressCountry to dei_EntityAddressCountry" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressPostalZipCode" xml:lang="en-US" id="dei_EntityAddressPostalZipCode">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode" xlink:title="label: EntityAddressPostalZipCode to dei_EntityAddressPostalZipCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:label xlink:type="resource" xlink:label="dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CityAreaCode" xml:lang="en-US" id="dei_CityAreaCode">City Area Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CityAreaCode" xlink:to="dei_CityAreaCode" xlink:title="label: CityAreaCode to dei_CityAreaCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:label xlink:type="resource" xlink:label="dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_LocalPhoneNumber" xml:lang="en-US" id="dei_LocalPhoneNumber">Local Phone Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber" xlink:title="label: LocalPhoneNumber to dei_LocalPhoneNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:label xlink:type="resource" xlink:label="dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_Security12bTitle" xml:lang="en-US" id="dei_Security12bTitle">Title of 12(b) Security</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Security12bTitle" xlink:to="dei_Security12bTitle" xlink:title="label: Security12bTitle to dei_Security12bTitle" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="NoTradingSymbolFlag" xlink:title="NoTradingSymbolFlag" />
    <link:label xlink:type="resource" xlink:label="dei_NoTradingSymbolFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_NoTradingSymbolFlag" xml:lang="en-US" id="dei_NoTradingSymbolFlag">No Trading Symbol Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag" xlink:title="label: NoTradingSymbolFlag to dei_NoTradingSymbolFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:label xlink:type="resource" xlink:label="dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_TradingSymbol" xml:lang="en-US" id="dei_TradingSymbol">Trading Symbol</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TradingSymbol" xlink:to="dei_TradingSymbol" xlink:title="label: TradingSymbol to dei_TradingSymbol" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:label xlink:type="resource" xlink:label="dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_SecurityExchangeName" xml:lang="en-US" id="dei_SecurityExchangeName">Security Exchange Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecurityExchangeName" xlink:to="dei_SecurityExchangeName" xlink:title="label: SecurityExchangeName to dei_SecurityExchangeName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCommonStockSharesOutstanding" xml:lang="en-US" id="dei_EntityCommonStockSharesOutstanding">Entity Common Stock, Shares Outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:title="label: EntityCommonStockSharesOutstanding to dei_EntityCommonStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="AuditorName" xlink:title="AuditorName" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorName" xml:lang="en-US" id="dei_AuditorName">Auditor Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorName" xlink:to="dei_AuditorName" xlink:title="label: AuditorName to dei_AuditorName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="AuditorLocation" xlink:title="AuditorLocation" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorLocation" xml:lang="en-US" id="dei_AuditorLocation">Auditor Location</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorLocation" xlink:to="dei_AuditorLocation" xlink:title="label: AuditorLocation to dei_AuditorLocation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="AuditorFirmId" xlink:title="AuditorFirmId" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorFirmId" xml:lang="en-US" id="dei_AuditorFirmId">Auditor Firm ID</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorFirmId" xlink:to="dei_AuditorFirmId" xlink:title="label: AuditorFirmId to dei_AuditorFirmId" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DescriptionOfBusinessAbstract" xlink:label="DescriptionOfBusinessAbstract" xlink:title="DescriptionOfBusinessAbstract" />
    <link:label xlink:type="resource" xlink:label="tact_DescriptionOfBusinessAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DescriptionOfBusinessAbstract_lbl1" xml:lang="en-US" id="tact_DescriptionOfBusinessAbstract_lbl1">Description of business [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DescriptionOfBusinessAbstract" xlink:to="tact_DescriptionOfBusinessAbstract_lbl1" xlink:title="label: DescriptionOfBusinessAbstract to tact_DescriptionOfBusinessAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_NumberOfSoftwareSolutions" xlink:label="NumberOfSoftwareSolutions" xlink:title="NumberOfSoftwareSolutions" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfSoftwareSolutions_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_NumberOfSoftwareSolutions_lbl" xml:lang="en-US" id="tact_NumberOfSoftwareSolutions_lbl">Number of software solutions from the after-market side of the business.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSoftwareSolutions" xlink:to="tact_NumberOfSoftwareSolutions_lbl" xlink:title="label: NumberOfSoftwareSolutions to tact_NumberOfSoftwareSolutions_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfSoftwareSolutions_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_NumberOfSoftwareSolutions_lbl1" xml:lang="en-US" id="tact_NumberOfSoftwareSolutions_lbl1">Number of software solutions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSoftwareSolutions" xlink:to="tact_NumberOfSoftwareSolutions_lbl1" xlink:title="label: NumberOfSoftwareSolutions to tact_NumberOfSoftwareSolutions_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfSoftwareSolutions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_NumberOfSoftwareSolutions" xml:lang="en-US" id="tact_NumberOfSoftwareSolutions">Number of software solutions from the after-market side of the business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSoftwareSolutions" xlink:to="tact_NumberOfSoftwareSolutions" xlink:title="label: NumberOfSoftwareSolutions to tact_NumberOfSoftwareSolutions" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ContractWithCustomerRevenueRecognized" xlink:label="ContractWithCustomerRevenueRecognized" xlink:title="ContractWithCustomerRevenueRecognized" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerRevenueRecognized_lbl" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized_lbl">Amount of revenue recognized related to obligation to transfer good or service to customer for which consideration from customer has been received or is due.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized_lbl" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerRevenueRecognized_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized_lbl1">Contract with Customer, Revenue Recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized_lbl1" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ContractWithCustomerRevenueRecognized" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized">Revenue recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerAssetLiabilityNet_lbl" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet_lbl">Amount, after allowance for credit loss, of right (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet_lbl" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet_lbl1">Contract with Customer, Asset (Liability), net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="tact_ContractWithCustomerAssetLiabilityNet" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet">Net contract (liabilities) assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl">Amount of obligation to transfer good or service to customer related to customer prepayments for which consideration has been received or is receivable, classified as current.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1">Contract with Customer, Liability for Customer Prepayments, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent">Customer pre-payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:label="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:title="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" />
    <link:label xlink:type="resource" xlink:label="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl" xml:lang="en-US" id="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl">Period the customer receives free maintenance upon completion of EPICENTRAL installation, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:to="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl" xlink:title="label: TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation to tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1" xml:lang="en-US" id="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1">Term of free maintenance upon completion of software installation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:to="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1" xlink:title="label: TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation to tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xml:lang="en-US" id="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation">Term of free maintenance upon completion of software installation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:to="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:title="label: TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation to tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_TransactServicesGroupMember_lbl" xml:lang="en-US" id="tact_TransactServicesGroupMember_lbl">Revenue from range of supplies and consumables used in the printing and scanning activities of customers in the restaurant and hospitality, banking, retail, casino and gaming, government and oil and gas exploration markets.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember_lbl" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_TransactServicesGroupMember_lbl1" xml:lang="en-US" id="tact_TransactServicesGroupMember_lbl1">TransAct Services Group [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember_lbl1" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_TransactServicesGroupMember" xml:lang="en-US" id="tact_TransactServicesGroupMember">TransAct Services Group [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FoodServiceTechnologyMember_lbl" xml:lang="en-US" id="tact_FoodServiceTechnologyMember_lbl">Revenue from sales of the BOHA! ecosystem, which combines the latest generation terminal, cloud-based software applications and related hardware into a unique solution to automate operations with food production in the back-of-house operations in restaurants and food service operations.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember_lbl" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FoodServiceTechnologyMember_lbl1" xml:lang="en-US" id="tact_FoodServiceTechnologyMember_lbl1">Food Service Technology [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember_lbl1" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FoodServiceTechnologyMember" xml:lang="en-US" id="tact_FoodServiceTechnologyMember">Food Service Technology [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_CasinoAndGamingMember_lbl" xml:lang="en-US" id="tact_CasinoAndGamingMember_lbl">Revenue from sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos and racetracks and other gaming venues worldwide.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember_lbl" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_CasinoAndGamingMember_lbl1" xml:lang="en-US" id="tact_CasinoAndGamingMember_lbl1">Casino and Gaming [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember_lbl1" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_CasinoAndGamingMember" xml:lang="en-US" id="tact_CasinoAndGamingMember">Casino and Gaming [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PosAutomationAndBankingMember_lbl" xml:lang="en-US" id="tact_PosAutomationAndBankingMember_lbl">Revenue from sales of thermal printers used primarily by restaurants (including fine dining, casual dining, quick serve and hospitality establishments) located either at the checkout counter or within self-service kiosks to print receipts for consumers or print on linerless labels.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember_lbl" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PosAutomationAndBankingMember_lbl1" xml:lang="en-US" id="tact_PosAutomationAndBankingMember_lbl1">POS Automation and Banking [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember_lbl1" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PosAutomationAndBankingMember" xml:lang="en-US" id="tact_PosAutomationAndBankingMember">POS Automation [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_InternationalMember_lbl" xml:lang="en-US" id="tact_InternationalMember_lbl">Other countries outside of the United States.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalMember" xlink:to="tact_InternationalMember_lbl" xlink:title="label: InternationalMember to tact_InternationalMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_InternationalMember_lbl1" xml:lang="en-US" id="tact_InternationalMember_lbl1">International [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalMember" xlink:to="tact_InternationalMember_lbl1" xlink:title="label: InternationalMember to tact_InternationalMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="tact_FurnitureAndOfficeEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FurnitureAndOfficeEquipmentMember_lbl" xml:lang="en-US" id="tact_FurnitureAndOfficeEquipmentMember_lbl">Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities and tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FurnitureAndOfficeEquipmentMember" xlink:to="tact_FurnitureAndOfficeEquipmentMember_lbl" xlink:title="label: FurnitureAndOfficeEquipmentMember to tact_FurnitureAndOfficeEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FurnitureAndOfficeEquipmentMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FurnitureAndOfficeEquipmentMember_lbl1" xml:lang="en-US" id="tact_FurnitureAndOfficeEquipmentMember_lbl1">Furniture and Office Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FurnitureAndOfficeEquipmentMember" xlink:to="tact_FurnitureAndOfficeEquipmentMember_lbl1" xlink:title="label: FurnitureAndOfficeEquipmentMember to tact_FurnitureAndOfficeEquipmentMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FurnitureAndOfficeEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FurnitureAndOfficeEquipmentMember" xml:lang="en-US" id="tact_FurnitureAndOfficeEquipmentMember">Furniture and Office Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FurnitureAndOfficeEquipmentMember" xlink:to="tact_FurnitureAndOfficeEquipmentMember" xlink:title="label: FurnitureAndOfficeEquipmentMember to tact_FurnitureAndOfficeEquipmentMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="tact_ComputerSoftwareAndEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ComputerSoftwareAndEquipmentMember_lbl" xml:lang="en-US" id="tact_ComputerSoftwareAndEquipmentMember_lbl">Computer software, including but not limited to, acquired and internally developed computer software, and long-lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComputerSoftwareAndEquipmentMember" xlink:to="tact_ComputerSoftwareAndEquipmentMember_lbl" xlink:title="label: ComputerSoftwareAndEquipmentMember to tact_ComputerSoftwareAndEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ComputerSoftwareAndEquipmentMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ComputerSoftwareAndEquipmentMember_lbl1" xml:lang="en-US" id="tact_ComputerSoftwareAndEquipmentMember_lbl1">Computer Software and Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComputerSoftwareAndEquipmentMember" xlink:to="tact_ComputerSoftwareAndEquipmentMember_lbl1" xlink:title="label: ComputerSoftwareAndEquipmentMember to tact_ComputerSoftwareAndEquipmentMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ComputerSoftwareAndEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ComputerSoftwareAndEquipmentMember" xml:lang="en-US" id="tact_ComputerSoftwareAndEquipmentMember">Computer Software and Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComputerSoftwareAndEquipmentMember" xlink:to="tact_ComputerSoftwareAndEquipmentMember" xlink:title="label: ComputerSoftwareAndEquipmentMember to tact_ComputerSoftwareAndEquipmentMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:label="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" id="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl">Amount of increase (decrease) in operating lease right-of-use asset.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:to="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:title="label: IncreaseDecreaseInOperatingLeaseRightOfUseAsset to tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1" xml:lang="en-US" id="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1">Increase (Decrease) in Operating Lease Right-of-use Asset</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:to="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1" xlink:title="label: IncreaseDecreaseInOperatingLeaseRightOfUseAsset to tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xml:lang="en-US" id="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset">Increase in right-of-use-asset</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:to="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="label: IncreaseDecreaseInOperatingLeaseRightOfUseAsset to tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FacilityInLasVegasNevadaMember" xlink:label="FacilityInLasVegasNevadaMember" xlink:title="FacilityInLasVegasNevadaMember" />
    <link:label xlink:type="resource" xlink:label="tact_FacilityInLasVegasNevadaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FacilityInLasVegasNevadaMember_lbl" xml:lang="en-US" id="tact_FacilityInLasVegasNevadaMember_lbl">Facility located in Las Vegas, Nevada.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FacilityInLasVegasNevadaMember" xlink:to="tact_FacilityInLasVegasNevadaMember_lbl" xlink:title="label: FacilityInLasVegasNevadaMember to tact_FacilityInLasVegasNevadaMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FacilityInLasVegasNevadaMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FacilityInLasVegasNevadaMember_lbl1" xml:lang="en-US" id="tact_FacilityInLasVegasNevadaMember_lbl1">Facility in Las Vegas, Nevada [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FacilityInLasVegasNevadaMember" xlink:to="tact_FacilityInLasVegasNevadaMember_lbl1" xlink:title="label: FacilityInLasVegasNevadaMember to tact_FacilityInLasVegasNevadaMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FacilityInLasVegasNevadaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FacilityInLasVegasNevadaMember" xml:lang="en-US" id="tact_FacilityInLasVegasNevadaMember">Facility in Las Vegas, Nevada [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FacilityInLasVegasNevadaMember" xlink:to="tact_FacilityInLasVegasNevadaMember" xlink:title="label: FacilityInLasVegasNevadaMember to tact_FacilityInLasVegasNevadaMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TheBrightGroupMember" xlink:label="TheBrightGroupMember" xlink:title="TheBrightGroupMember" />
    <link:label xlink:type="resource" xlink:label="tact_TheBrightGroupMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_TheBrightGroupMember_lbl" xml:lang="en-US" id="tact_TheBrightGroupMember_lbl">The Bright Groups a dynamic Australian-based manufacturing services group.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TheBrightGroupMember" xlink:to="tact_TheBrightGroupMember_lbl" xlink:title="label: TheBrightGroupMember to tact_TheBrightGroupMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_TheBrightGroupMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_TheBrightGroupMember_lbl1" xml:lang="en-US" id="tact_TheBrightGroupMember_lbl1">The Bright Group [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TheBrightGroupMember" xlink:to="tact_TheBrightGroupMember_lbl1" xlink:title="label: TheBrightGroupMember to tact_TheBrightGroupMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_InternationalGameTechnologyPlcMember" xlink:label="InternationalGameTechnologyPlcMember" xlink:title="InternationalGameTechnologyPlcMember" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalGameTechnologyPlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_InternationalGameTechnologyPlcMember_lbl" xml:lang="en-US" id="tact_InternationalGameTechnologyPlcMember_lbl">International Game Technology PLC, formerly Gtech S.p.A. and Lottomatica S.p.A., is a multinational gaming company that produces slot machines and other gaming technology.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalGameTechnologyPlcMember" xlink:to="tact_InternationalGameTechnologyPlcMember_lbl" xlink:title="label: InternationalGameTechnologyPlcMember to tact_InternationalGameTechnologyPlcMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalGameTechnologyPlcMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_InternationalGameTechnologyPlcMember_lbl1" xml:lang="en-US" id="tact_InternationalGameTechnologyPlcMember_lbl1">International Game Technology PLC [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalGameTechnologyPlcMember" xlink:to="tact_InternationalGameTechnologyPlcMember_lbl1" xlink:title="label: InternationalGameTechnologyPlcMember to tact_InternationalGameTechnologyPlcMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalGameTechnologyPlcMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_InternationalGameTechnologyPlcMember" xml:lang="en-US" id="tact_InternationalGameTechnologyPlcMember">IGT [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalGameTechnologyPlcMember" xlink:to="tact_InternationalGameTechnologyPlcMember" xlink:title="label: InternationalGameTechnologyPlcMember to tact_InternationalGameTechnologyPlcMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FixedAssetsExcludingConstructionInProcessMember" xlink:label="FixedAssetsExcludingConstructionInProcessMember" xlink:title="FixedAssetsExcludingConstructionInProcessMember" />
    <link:label xlink:type="resource" xlink:label="tact_FixedAssetsExcludingConstructionInProcessMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FixedAssetsExcludingConstructionInProcessMember_lbl" xml:lang="en-US" id="tact_FixedAssetsExcludingConstructionInProcessMember_lbl">Fixed assets excluding construction in-process. Includes tooling, machinery and equipment, furniture and office equipment, computer software and equipment, and leasehold improvements.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FixedAssetsExcludingConstructionInProcessMember" xlink:to="tact_FixedAssetsExcludingConstructionInProcessMember_lbl" xlink:title="label: FixedAssetsExcludingConstructionInProcessMember to tact_FixedAssetsExcludingConstructionInProcessMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FixedAssetsExcludingConstructionInProcessMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FixedAssetsExcludingConstructionInProcessMember_lbl1" xml:lang="en-US" id="tact_FixedAssetsExcludingConstructionInProcessMember_lbl1">Fixed Assets, Excluding Construction in-Process [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FixedAssetsExcludingConstructionInProcessMember" xlink:to="tact_FixedAssetsExcludingConstructionInProcessMember_lbl1" xlink:title="label: FixedAssetsExcludingConstructionInProcessMember to tact_FixedAssetsExcludingConstructionInProcessMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FixedAssetsExcludingConstructionInProcessMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FixedAssetsExcludingConstructionInProcessMember" xml:lang="en-US" id="tact_FixedAssetsExcludingConstructionInProcessMember">Fixed Assets, Excluding Construction in-Process [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FixedAssetsExcludingConstructionInProcessMember" xlink:to="tact_FixedAssetsExcludingConstructionInProcessMember" xlink:title="label: FixedAssetsExcludingConstructionInProcessMember to tact_FixedAssetsExcludingConstructionInProcessMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:label="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl">Tabular disclosure of information related to lessee's operating leases, including weighted average lease term and discount rate.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1">Lessee, Operating Lease, Lease Term and Discount Rate [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock">Additional Information Related to Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:label="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl">Tabular disclosure of supplemental information for the statement of cash flows related to operating leases.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1">Lessee, Operating Lease, Supplemental Disclosure for Cash Flows [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock">Cash Flows for Operating Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_RelatedPartyTransactionAbstract" xlink:label="RelatedPartyTransactionAbstract" xlink:title="RelatedPartyTransactionAbstract" />
    <link:label xlink:type="resource" xlink:label="tact_RelatedPartyTransactionAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_RelatedPartyTransactionAbstract_lbl1" xml:lang="en-US" id="tact_RelatedPartyTransactionAbstract_lbl1">Related Party Transaction [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RelatedPartyTransactionAbstract" xlink:to="tact_RelatedPartyTransactionAbstract_lbl1" xlink:title="label: RelatedPartyTransactionAbstract to tact_RelatedPartyTransactionAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_RelatedPartyTransactionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_RelatedPartyTransactionAbstract" xml:lang="en-US" id="tact_RelatedPartyTransactionAbstract">Related Party Transaction [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RelatedPartyTransactionAbstract" xlink:to="tact_RelatedPartyTransactionAbstract" xlink:title="label: RelatedPartyTransactionAbstract to tact_RelatedPartyTransactionAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TheOneGroupHospitalityIncMember" xlink:label="TheOneGroupHospitalityIncMember" xlink:title="TheOneGroupHospitalityIncMember" />
    <link:label xlink:type="resource" xlink:label="tact_TheOneGroupHospitalityIncMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_TheOneGroupHospitalityIncMember_lbl" xml:lang="en-US" id="tact_TheOneGroupHospitalityIncMember_lbl">A global hospitality company that develops and operates upscale, high-energy restaurants and lounges and provides hospitality management services for hotels, casinos and other high-end venues both nationally and internationally. One of the Company's directors serves as President and Chief Executive Officer of this entity.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TheOneGroupHospitalityIncMember" xlink:to="tact_TheOneGroupHospitalityIncMember_lbl" xlink:title="label: TheOneGroupHospitalityIncMember to tact_TheOneGroupHospitalityIncMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_TheOneGroupHospitalityIncMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_TheOneGroupHospitalityIncMember_lbl1" xml:lang="en-US" id="tact_TheOneGroupHospitalityIncMember_lbl1">The One Group Hospitality, Inc [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TheOneGroupHospitalityIncMember" xlink:to="tact_TheOneGroupHospitalityIncMember_lbl1" xlink:title="label: TheOneGroupHospitalityIncMember to tact_TheOneGroupHospitalityIncMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_TheOneGroupHospitalityIncMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_TheOneGroupHospitalityIncMember" xml:lang="en-US" id="tact_TheOneGroupHospitalityIncMember">The One Group Hospitality, Inc [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TheOneGroupHospitalityIncMember" xlink:to="tact_TheOneGroupHospitalityIncMember" xlink:title="label: TheOneGroupHospitalityIncMember to tact_TheOneGroupHospitalityIncMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_OperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="OperatingLossCarryforwardsNotSubjectToExpiration" xlink:title="OperatingLossCarryforwardsNotSubjectToExpiration" />
    <link:label xlink:type="resource" xlink:label="tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl" xml:lang="en-US" id="tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl">Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws that are not subject to expiration dates.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsNotSubjectToExpiration" xlink:to="tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl" xlink:title="label: OperatingLossCarryforwardsNotSubjectToExpiration to tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl1" xml:lang="en-US" id="tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl1">Operating Loss Carryforwards, Not Subject to Expiration</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsNotSubjectToExpiration" xlink:to="tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl1" xlink:title="label: OperatingLossCarryforwardsNotSubjectToExpiration to tact_OperatingLossCarryforwardsNotSubjectToExpiration_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_OperatingLossCarryforwardsNotSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_OperatingLossCarryforwardsNotSubjectToExpiration" xml:lang="en-US" id="tact_OperatingLossCarryforwardsNotSubjectToExpiration">Net operating loss carryforwards not subject to expiration</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsNotSubjectToExpiration" xlink:to="tact_OperatingLossCarryforwardsNotSubjectToExpiration" xlink:title="label: OperatingLossCarryforwardsNotSubjectToExpiration to tact_OperatingLossCarryforwardsNotSubjectToExpiration" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="OperatingLossCarryforwardsSubjectToExpiration" xlink:title="OperatingLossCarryforwardsSubjectToExpiration" />
    <link:label xlink:type="resource" xlink:label="tact_OperatingLossCarryforwardsSubjectToExpiration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_OperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US" id="tact_OperatingLossCarryforwardsSubjectToExpiration_lbl">Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws that are subject to expiration dates.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsSubjectToExpiration" xlink:to="tact_OperatingLossCarryforwardsSubjectToExpiration_lbl" xlink:title="label: OperatingLossCarryforwardsSubjectToExpiration to tact_OperatingLossCarryforwardsSubjectToExpiration_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_OperatingLossCarryforwardsSubjectToExpiration_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_OperatingLossCarryforwardsSubjectToExpiration_lbl1" xml:lang="en-US" id="tact_OperatingLossCarryforwardsSubjectToExpiration_lbl1">Operating Loss Carryforwards, Subject to Expiration</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsSubjectToExpiration" xlink:to="tact_OperatingLossCarryforwardsSubjectToExpiration_lbl1" xlink:title="label: OperatingLossCarryforwardsSubjectToExpiration to tact_OperatingLossCarryforwardsSubjectToExpiration_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_OperatingLossCarryforwardsSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_OperatingLossCarryforwardsSubjectToExpiration" xml:lang="en-US" id="tact_OperatingLossCarryforwardsSubjectToExpiration">Net operating loss carryforwards subject to expiration</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsSubjectToExpiration" xlink:to="tact_OperatingLossCarryforwardsSubjectToExpiration" xlink:title="label: OperatingLossCarryforwardsSubjectToExpiration to tact_OperatingLossCarryforwardsSubjectToExpiration" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TaxCreditCarryforwardAmountSubjectToExpiration" xlink:label="TaxCreditCarryforwardAmountSubjectToExpiration" xlink:title="TaxCreditCarryforwardAmountSubjectToExpiration" />
    <link:label xlink:type="resource" xlink:label="tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl" xml:lang="en-US" id="tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl">The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws that are subject to expiration dates.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxCreditCarryforwardAmountSubjectToExpiration" xlink:to="tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl" xlink:title="label: TaxCreditCarryforwardAmountSubjectToExpiration to tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl1" xml:lang="en-US" id="tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl1">Tax Credit Carryforward, Amount, Subject to Expiration</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxCreditCarryforwardAmountSubjectToExpiration" xlink:to="tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl1" xlink:title="label: TaxCreditCarryforwardAmountSubjectToExpiration to tact_TaxCreditCarryforwardAmountSubjectToExpiration_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_TaxCreditCarryforwardAmountSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_TaxCreditCarryforwardAmountSubjectToExpiration" xml:lang="en-US" id="tact_TaxCreditCarryforwardAmountSubjectToExpiration">Tax credit carryforwards subject to expiration</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxCreditCarryforwardAmountSubjectToExpiration" xlink:to="tact_TaxCreditCarryforwardAmountSubjectToExpiration" xlink:title="label: TaxCreditCarryforwardAmountSubjectToExpiration to tact_TaxCreditCarryforwardAmountSubjectToExpiration" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:label="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:title="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" />
    <link:label xlink:type="resource" xlink:label="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl" xml:lang="en-US" id="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl">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 limitation on executive compensation.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:to="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent to tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl1" xml:lang="en-US" id="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl1">Effective Income Tax Rate Reconciliation, Executive Compensation Limitation, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:to="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent to tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xml:lang="en-US" id="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent">Executive compensation limitation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:to="tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:title="label: EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent to tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_PacificRimMember" xlink:label="PacificRimMember" xlink:title="PacificRimMember" />
    <link:label xlink:type="resource" xlink:label="tact_PacificRimMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PacificRimMember_lbl" xml:lang="en-US" id="tact_PacificRimMember_lbl">Geographic area surrounding the edges of the Pacific Ocean. The Pacific Rim covers the western shores of North America and South America, in addition to Australia, eastern Asia and the islands of the Pacific.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PacificRimMember" xlink:to="tact_PacificRimMember_lbl" xlink:title="label: PacificRimMember to tact_PacificRimMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PacificRimMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PacificRimMember_lbl1" xml:lang="en-US" id="tact_PacificRimMember_lbl1">Pacific Rim [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PacificRimMember" xlink:to="tact_PacificRimMember_lbl1" xlink:title="label: PacificRimMember to tact_PacificRimMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PacificRimMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PacificRimMember" xml:lang="en-US" id="tact_PacificRimMember">Pacific Rim [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PacificRimMember" xlink:to="tact_PacificRimMember" xlink:title="label: PacificRimMember to tact_PacificRimMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl">The percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1">Debt Instrument, Financial Covenant, Eligible Accounts Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable">Percentage of eligible accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl" xml:lang="en-US" id="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl">The minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash required under a new "springing" deposit account control agreement, permitting the Company to direct the use of funds in its deposit account.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl" xlink:title="label: DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1" xml:lang="en-US" id="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1">Debt Instrument, Minimum excess availability and unrestricted cash</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1" xlink:title="label: DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xml:lang="en-US" id="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash">Minimum excess availability and unrestricted cash required</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="label: DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:label="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl">The minimum principal amount, whether or not such amount of loans is actually outstanding, on which interest is paid if the Company does not have the ability to direct the use of funds in the deposit account under the Amended Fee Letter.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl" xlink:title="label: DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid to tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1">Debt Instrument, Minimum principal amount on which interest is paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1" xlink:title="label: DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid to tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid">Minimum principal amount on which interest is paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="label: DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid to tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl">The percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory, Raw Material, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage">Percentage of eligible raw material</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:label="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl">The minimum principal amount of outstanding borrowings that must be maintained in order to retain the ability to direct the use of funds in the deposit account under the Amended Fee Letter.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl" xlink:title="label: DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount to tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1">Debt Instrument, Minimum principal amount to be maintained to direct use of funds in deposit account</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1" xlink:title="label: DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount to tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount">Minimum principal amount to be maintained to direct use of funds in deposit account</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="label: DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount to tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl" xml:lang="en-US" id="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl">The period of time the minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash must be maintained, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl" xlink:title="label: DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1" xml:lang="en-US" id="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1">Debt Instrument, Period to maintain excess availability and unrestricted cash</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1" xlink:title="label: DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xml:lang="en-US" id="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash">Number of days to maintain excess availability and unrestricted cash</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="label: DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl">The percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory, Finished Goods Inventory, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage">Percentage of eligible finished goods inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl">The minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory">Eligible inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl">Arrangement with Siena Lending Group LLC that provides a revolving credit line, subject to a borrowing base.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1">Revolving Credit Facility, Siena Lending Group Llc [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember">Sienna Credit Facility [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2014Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_EquityIncentivePlan2014Member_lbl" xml:lang="en-US" id="tact_EquityIncentivePlan2014Member_lbl">Stock incentive plan which provides for awards to executives, key employees, directors and consultants.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2014Member_lbl" xlink:title="label: EquityIncentivePlan2014Member to tact_EquityIncentivePlan2014Member_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2014Member_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EquityIncentivePlan2014Member_lbl1" xml:lang="en-US" id="tact_EquityIncentivePlan2014Member_lbl1">Equity Incentive Plan 2014 [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2014Member_lbl1" xlink:title="label: EquityIncentivePlan2014Member to tact_EquityIncentivePlan2014Member_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2014Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EquityIncentivePlan2014Member" xml:lang="en-US" id="tact_EquityIncentivePlan2014Member">2014 Equity Incentive Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2014Member" xlink:title="label: EquityIncentivePlan2014Member to tact_EquityIncentivePlan2014Member" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl">The number of stock incentive plans.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Number of stock incentive plans</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans">Number of stock incentive plans</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl">The exercise price of awards granted under the plans as a percentage of the fair market value of the Company's common stock at the date of grant.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Exercise Price as Percentage of Fair Market Value of Common Stock at Date of Grant</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant">Exercise price as a percentage of fair market value of common stock at date of grant</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl" xml:lang="en-US" id="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl">Stock incentive plans which provide for awards to executives, key employees, directors and consultants.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl" xlink:title="label: EquityIncentivePlan2005AndEquityIncentivePlan2014Member to tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1" xml:lang="en-US" id="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1">Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1" xlink:title="label: EquityIncentivePlan2005AndEquityIncentivePlan2014Member to tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xml:lang="en-US" id="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">2005 Equity Incentive Plan and 2014 Equity Incentive Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="label: EquityIncentivePlan2005AndEquityIncentivePlan2014Member to tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl">Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans for which the right to exercise has lapsed under the terms of the plan agreements.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Expirations, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue">Expired (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl">The weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were exercised during the period.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Exercises in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue">Exercised (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityAwardsAggregateIntrinsicValueAbstract" xlink:label="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="EquityAwardsAggregateIntrinsicValueAbstract" />
    <link:label xlink:type="resource" xlink:label="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1" xml:lang="en-US" id="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1">Equity Awards, Aggregate Intrinsic Value [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1" xlink:title="label: EquityAwardsAggregateIntrinsicValueAbstract to tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EquityAwardsAggregateIntrinsicValueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EquityAwardsAggregateIntrinsicValueAbstract" xml:lang="en-US" id="tact_EquityAwardsAggregateIntrinsicValueAbstract">Aggregate Intrinsic Value [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="tact_EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="label: EquityAwardsAggregateIntrinsicValueAbstract to tact_EquityAwardsAggregateIntrinsicValueAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:label="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="EquityAwardsWeightedAverageRemainingContractualTermAbstract" />
    <link:label xlink:type="resource" xlink:label="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1" xml:lang="en-US" id="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1">Equity Awards, Weighted-Average Remaining Contractual Term [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1" xlink:title="label: EquityAwardsWeightedAverageRemainingContractualTermAbstract to tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xml:lang="en-US" id="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract">Remaining Term [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="label: EquityAwardsWeightedAverageRemainingContractualTermAbstract to tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:label="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:title="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" />
    <link:label xlink:type="resource" xlink:label="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl" xml:lang="en-US" id="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl">Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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).</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:to="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl" xlink:title="label: FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo to tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl1" xml:lang="en-US" id="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl1">Finite-Lived Intangible Asset, Expected Amortization, After Year Two</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:to="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl1" xlink:title="label: FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo to tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xml:lang="en-US" id="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo">Thereafter</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:to="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:title="label: FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo to tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>tact-20231231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <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:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <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://transact-tech.com/role/RelatedPartyTransactionsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#RelatedPartyTransactionsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#QuarterlyResultsOfOperationsUnauditedDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20231231.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformationDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#GeographicAreaInformationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockRepurchaseProgramDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockRepurchaseProgramDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansStockOptionsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansSharebasedCompensationExpenseDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansStockIncentivePlansDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/BorrowingsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#BorrowingsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RetirementSavingsPlanDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#RetirementSavingsPlanDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#AccruedLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNetDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#IntangibleAssetsNetDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNetDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#FixedAssetsNetDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesAdvertisingDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesLeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/DescriptionOfBusinessDetails" xlink:type="simple" xlink:href="tact-20231231.xsd#DescriptionOfBusinessDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables" xlink:type="simple" xlink:href="tact-20231231.xsd#QuarterlyResultsOfOperationsUnauditedTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#LeasesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformationTables" xlink:type="simple" xlink:href="tact-20231231.xsd#GeographicAreaInformationTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tact-20231231.xsd#EarningsPerShareTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansTables" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlansTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#AccruedLiabilitiesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNetTables" xlink:type="simple" xlink:href="tact-20231231.xsd#IntangibleAssetsNetTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNetTables" xlink:type="simple" xlink:href="tact-20231231.xsd#FixedAssetsNetTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#InventoriesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/InsiderTradingArrangements" xlink:type="simple" xlink:href="tact-20231231.xsd#InsiderTradingArrangements" />
  <link:roleRef roleURI="http://transact-tech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tact-20231231.xsd#SubsequentEvents" />
  <link:roleRef roleURI="http://transact-tech.com/role/RelatedPartyTransactions" xlink:type="simple" xlink:href="tact-20231231.xsd#RelatedPartyTransactions" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="tact-20231231.xsd#QuarterlyResultsOfOperationsUnaudited" />
  <link:roleRef roleURI="http://transact-tech.com/role/Leases" xlink:type="simple" xlink:href="tact-20231231.xsd#Leases" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformation" xlink:type="simple" xlink:href="tact-20231231.xsd#GeographicAreaInformation" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockRepurchaseProgram" xlink:type="simple" xlink:href="tact-20231231.xsd#StockRepurchaseProgram" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tact-20231231.xsd#EarningsPerShare" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxes" xlink:type="simple" xlink:href="tact-20231231.xsd#IncomeTaxes" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlans" xlink:type="simple" xlink:href="tact-20231231.xsd#StockIncentivePlans" />
  <link:roleRef roleURI="http://transact-tech.com/role/Borrowings" xlink:type="simple" xlink:href="tact-20231231.xsd#Borrowings" />
  <link:roleRef roleURI="http://transact-tech.com/role/RetirementSavingsPlan" xlink:type="simple" xlink:href="tact-20231231.xsd#RetirementSavingsPlan" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilities" xlink:type="simple" xlink:href="tact-20231231.xsd#AccruedLiabilities" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNet" xlink:type="simple" xlink:href="tact-20231231.xsd#IntangibleAssetsNet" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNet" xlink:type="simple" xlink:href="tact-20231231.xsd#FixedAssetsNet" />
  <link:roleRef roleURI="http://transact-tech.com/role/Inventories" xlink:type="simple" xlink:href="tact-20231231.xsd#Inventories" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="tact-20231231.xsd#SummaryOfSignificantAccountingPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/DescriptionOfBusiness" xlink:type="simple" xlink:href="tact-20231231.xsd#DescriptionOfBusiness" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfChangesInShareholdersEquity" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfComprehensiveIncomeLoss" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20231231.xsd#ConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tact-20231231.xsd#DocumentAndEntityInformation" />
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DocumentAndEntityInformation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentType" xlink:title="presentation: CoverAbstract to DocumentType" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AmendmentFlag" xlink:title="presentation: CoverAbstract to AmendmentFlag" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="DocumentAnnualReport" xlink:title="DocumentAnnualReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentAnnualReport" xlink:title="presentation: CoverAbstract to DocumentAnnualReport" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentPeriodEndDate" xlink:title="presentation: CoverAbstract to DocumentPeriodEndDate" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CurrentFiscalYearEndDate" xlink:title="presentation: CoverAbstract to CurrentFiscalYearEndDate" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalYearFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalYearFocus" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalPeriodFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalPeriodFocus" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentTransitionReport" xlink:title="presentation: CoverAbstract to DocumentTransitionReport" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFileNumber" xlink:title="presentation: CoverAbstract to EntityFileNumber" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityRegistrantName" xlink:title="presentation: CoverAbstract to EntityRegistrantName" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCentralIndexKey" xlink:title="presentation: CoverAbstract to EntityCentralIndexKey" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityIncorporationStateCountryCode" xlink:title="presentation: CoverAbstract to EntityIncorporationStateCountryCode" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityTaxIdentificationNumber" xlink:title="presentation: CoverAbstract to EntityTaxIdentificationNumber" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine1" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine1" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="EntityAddressAddressLine2" xlink:title="EntityAddressAddressLine2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine2" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine2" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine3" xlink:label="EntityAddressAddressLine3" xlink:title="EntityAddressAddressLine3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine3" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine3" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressCityOrTown" xlink:title="presentation: CoverAbstract to EntityAddressCityOrTown" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressStateOrProvince" xlink:title="presentation: CoverAbstract to EntityAddressStateOrProvince" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="EntityAddressCountry" xlink:title="EntityAddressCountry" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressCountry" xlink:title="presentation: CoverAbstract to EntityAddressCountry" order="18.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressPostalZipCode" xlink:title="presentation: CoverAbstract to EntityAddressPostalZipCode" order="19.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CityAreaCode" xlink:title="presentation: CoverAbstract to CityAreaCode" order="20.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="LocalPhoneNumber" xlink:title="presentation: CoverAbstract to LocalPhoneNumber" order="21.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="Security12bTitle" xlink:title="presentation: CoverAbstract to Security12bTitle" order="22.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="TradingSymbol" xlink:title="presentation: CoverAbstract to TradingSymbol" order="23.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_NoTradingSymbolFlag" xlink:label="NoTradingSymbolFlag" xlink:title="NoTradingSymbolFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="NoTradingSymbolFlag" xlink:title="presentation: CoverAbstract to NoTradingSymbolFlag" order="24.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="SecurityExchangeName" xlink:title="presentation: CoverAbstract to SecurityExchangeName" order="25.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="EntityWellKnownSeasonedIssuer" xlink:title="EntityWellKnownSeasonedIssuer" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityWellKnownSeasonedIssuer" xlink:title="presentation: CoverAbstract to EntityWellKnownSeasonedIssuer" order="26.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="EntityVoluntaryFilers" xlink:title="EntityVoluntaryFilers" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityVoluntaryFilers" xlink:title="presentation: CoverAbstract to EntityVoluntaryFilers" order="27.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCurrentReportingStatus" xlink:title="presentation: CoverAbstract to EntityCurrentReportingStatus" order="28.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityInteractiveDataCurrent" xlink:title="presentation: CoverAbstract to EntityInteractiveDataCurrent" order="29.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFilerCategory" xlink:title="presentation: CoverAbstract to EntityFilerCategory" order="30.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntitySmallBusiness" xlink:title="presentation: CoverAbstract to EntitySmallBusiness" order="31.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityEmergingGrowthCompany" xlink:title="presentation: CoverAbstract to EntityEmergingGrowthCompany" order="32.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="IcfrAuditorAttestationFlag" xlink:title="IcfrAuditorAttestationFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="IcfrAuditorAttestationFlag" xlink:title="presentation: CoverAbstract to IcfrAuditorAttestationFlag" order="33.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="DocumentFinStmtErrorCorrectionFlag" xlink:title="DocumentFinStmtErrorCorrectionFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFinStmtErrorCorrectionFlag" xlink:title="presentation: CoverAbstract to DocumentFinStmtErrorCorrectionFlag" order="34.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:label="DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:title="DocumentFinStmtRestatementRecoveryAnalysisFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFinStmtRestatementRecoveryAnalysisFlag" xlink:title="presentation: CoverAbstract to DocumentFinStmtRestatementRecoveryAnalysisFlag" order="35.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityShellCompany" xlink:title="presentation: CoverAbstract to EntityShellCompany" order="36.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="EntityPublicFloat" xlink:title="EntityPublicFloat" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityPublicFloat" xlink:title="presentation: CoverAbstract to EntityPublicFloat" order="37.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCommonStockSharesOutstanding" xlink:title="presentation: CoverAbstract to EntityCommonStockSharesOutstanding" order="38.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="AuditorFirmId" xlink:title="AuditorFirmId" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorFirmId" xlink:title="presentation: CoverAbstract to AuditorFirmId" order="39.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="AuditorName" xlink:title="AuditorName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorName" xlink:title="presentation: CoverAbstract to AuditorName" order="40.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="AuditorLocation" xlink:title="AuditorLocation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorLocation" xlink:title="presentation: CoverAbstract to AuditorLocation" order="41.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfStockDomain" xlink:to="SeriesAPreferredStockMember" xlink:title="presentation: ClassOfStockDomain to SeriesAPreferredStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain" xlink:title="presentation: StatementClassOfStockAxis to ClassOfStockDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementClassOfStockAxis" xlink:title="presentation: StatementTable to StatementClassOfStockAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="presentation: AssetsCurrentAbstract to CashAndCashEquivalentsAtCarryingValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AccountsReceivableNetCurrent" xlink:title="presentation: AssetsCurrentAbstract to AccountsReceivableNetCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NontradeReceivablesCurrent" xlink:label="NontradeReceivablesCurrent" xlink:title="NontradeReceivablesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="NontradeReceivablesCurrent" xlink:title="presentation: AssetsCurrentAbstract to NontradeReceivablesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="InventoryNet" xlink:title="presentation: AssetsCurrentAbstract to InventoryNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="PrepaidTaxes" xlink:title="presentation: AssetsCurrentAbstract to PrepaidTaxes" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="OtherAssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to OtherAssetsCurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to AssetsCurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: AssetsAbstract to PropertyPlantAndEquipmentNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to OperatingLeaseRightOfUseAsset" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="Goodwill" xlink:title="Goodwill" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="Goodwill" xlink:title="presentation: AssetsAbstract to Goodwill" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="presentation: AssetsAbstract to DeferredIncomeTaxAssetsNet" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="IntangibleAssetsNetExcludingGoodwill" xlink:title="presentation: AssetsAbstract to IntangibleAssetsNetExcludingGoodwill" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OtherAssetsNoncurrent" xlink:title="presentation: AssetsAbstract to OtherAssetsNoncurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsNoncurrent" xlink:title="presentation: AssetsAbstract to AssetsNoncurrent" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="Assets" xlink:title="presentation: AssetsAbstract to Assets" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="AssetsAbstract" xlink:title="presentation: StatementLineItems to AssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="LinesOfCreditCurrent" xlink:title="LinesOfCreditCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="LinesOfCreditCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to LinesOfCreditCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccountsPayableCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccountsPayableCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccruedLiabilitiesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccruedLiabilitiesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to OperatingLeaseLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to ContractWithCustomerLiabilityCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="LiabilitiesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to LiabilitiesCurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesCurrentAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to ContractWithCustomerLiabilityNoncurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OperatingLeaseLiabilityNoncurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OtherLiabilitiesNoncurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesNoncurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="Liabilities" xlink:title="Liabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="Liabilities" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to Liabilities" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="CommitmentsAndContingencies" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to CommitmentsAndContingencies" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="PreferredStockValue" xlink:title="PreferredStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockValue" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockValue" xlink:title="presentation: StockholdersEquityAbstract to CommonStockValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AdditionalPaidInCapitalCommonStock" xlink:title="presentation: StockholdersEquityAbstract to AdditionalPaidInCapitalCommonStock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="presentation: StockholdersEquityAbstract to RetainedEarningsAccumulatedDeficit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="presentation: StockholdersEquityAbstract to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockValue" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockValue" order="5.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="StockholdersEquity" xlink:title="presentation: StockholdersEquityAbstract to StockholdersEquity" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesAndStockholdersEquity" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesAndStockholdersEquity" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementLineItems to LiabilitiesAndStockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfFinancialPositionAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfStockDomain" xlink:to="SeriesAPreferredStockMember" xlink:title="presentation: ClassOfStockDomain to SeriesAPreferredStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain" xlink:title="presentation: StatementClassOfStockAxis to ClassOfStockDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementClassOfStockAxis" xlink:title="presentation: StatementTable to StatementClassOfStockAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="presentation: AssetsCurrentAbstract to AllowanceForDoubtfulAccountsReceivableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="AssetsAbstract" xlink:title="presentation: StatementLineItems to AssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="PreferredStockParOrStatedValuePerShare" xlink:title="PreferredStockParOrStatedValuePerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockParOrStatedValuePerShare" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockParOrStatedValuePerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="PreferredStockSharesAuthorized" xlink:title="PreferredStockSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockSharesAuthorized" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockSharesAuthorized" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="PreferredStockSharesIssued" xlink:title="PreferredStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockSharesIssued" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockSharesIssued" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="PreferredStockSharesOutstanding" xlink:title="PreferredStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockSharesOutstanding" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockSharesOutstanding" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="presentation: StockholdersEquityAbstract to CommonStockParOrStatedValuePerShare" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesAuthorized" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesAuthorized" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesIssued" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesIssued" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesOutstanding" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesOutstanding" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockCommonShares" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockCommonShares" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementLineItems to LiabilitiesAndStockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfFinancialPositionAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfOperations">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: IncomeStatementAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="CostOfRevenue" xlink:title="presentation: IncomeStatementAbstract to CostOfRevenue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="GrossProfit" xlink:title="presentation: IncomeStatementAbstract to GrossProfit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="ResearchAndDevelopmentExpense" xlink:title="presentation: OperatingExpensesAbstract to ResearchAndDevelopmentExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="SellingAndMarketingExpense" xlink:title="presentation: OperatingExpensesAbstract to SellingAndMarketingExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="GeneralAndAdministrativeExpense" xlink:title="presentation: OperatingExpensesAbstract to GeneralAndAdministrativeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="OperatingExpenses" xlink:title="presentation: OperatingExpensesAbstract to OperatingExpenses" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingExpensesAbstract" xlink:title="presentation: IncomeStatementAbstract to OperatingExpensesAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to OperatingIncomeLoss" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="NonoperatingIncomeExpenseAbstract" xlink:title="NonoperatingIncomeExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="InterestExpense" xlink:title="InterestExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="InterestExpense" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to InterestExpense" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeDomesticDeposits" xlink:label="InterestIncomeDomesticDeposits" xlink:title="InterestIncomeDomesticDeposits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="InterestIncomeDomesticDeposits" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to InterestIncomeDomesticDeposits" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to OtherNonoperatingIncomeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="NonoperatingIncomeExpense" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to NonoperatingIncomeExpense" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="NonoperatingIncomeExpenseAbstract" xlink:title="presentation: IncomeStatementAbstract to NonoperatingIncomeExpenseAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="presentation: IncomeStatementAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeStatementAbstract to IncomeTaxExpenseBenefit" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to NetIncomeLoss" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="EarningsPerShareAbstract" xlink:title="presentation: IncomeStatementAbstract to EarningsPerShareAbstract" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:label="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:title="EarningsPerShareBasicOtherDisclosuresAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: EarningsPerShareBasicOtherDisclosuresAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: EarningsPerShareBasicOtherDisclosuresAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:title="presentation: IncomeStatementAbstract to EarningsPerShareBasicOtherDisclosuresAbstract" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:title="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" xlink:title="ComprehensiveIncomeNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="ComprehensiveIncomeNetOfTax" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to ComprehensiveIncomeNetOfTax" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="CommonStockMember" xlink:title="presentation: StatementEquityComponentsAxis to CommonStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AdditionalPaidInCapitalMember" xlink:title="presentation: StatementEquityComponentsAxis to AdditionalPaidInCapitalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="RetainedEarningsMember" xlink:title="presentation: StatementEquityComponentsAxis to RetainedEarningsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="TreasuryStockCommonMember" xlink:title="presentation: StatementEquityComponentsAxis to TreasuryStockCommonMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="presentation: StatementEquityComponentsAxis to AccumulatedOtherComprehensiveIncomeMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="presentation: StatementEquityComponentsAxis to EquityComponentDomain" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="presentation: StatementTable to StatementEquityComponentsAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="CommonStockSharesIssued" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to CommonStockSharesIssued" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="StockIssuedDuringPeriodValueStockOptionsExercised" xlink:title="StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodValueStockOptionsExercised" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodValueStockOptionsExercised" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodSharesStockOptionsExercised" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:label="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockGrantedDuringPeriodValueSharebasedCompensationForfeited" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to SharesPaidForTaxWithholdingForShareBasedCompensation" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="NetIncomeLoss" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to NetIncomeLoss" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity_2" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued_2" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="CommonStockSharesIssued_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to CommonStockSharesIssued" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="presentation: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfStockholdersEquityAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ShareBasedCompensation" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ShareBasedCompensation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="DepreciationAndAmortization" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to DepreciationAndAmortization" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to DeferredIncomeTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfProperty" xlink:label="GainLossOnSaleOfProperty" xlink:title="GainLossOnSaleOfProperty" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="GainLossOnSaleOfProperty" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to GainLossOnSaleOfProperty" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="ForeignCurrencyTransactionGainLossUnrealized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ForeignCurrencyTransactionGainLossUnrealized" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsReceivable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsReceivable" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="IncreaseDecreaseInOtherReceivables" xlink:title="IncreaseDecreaseInOtherReceivables" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherReceivables" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherReceivables" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInInventories" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInInventories" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInPrepaidTaxes" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInPrepaidTaxes" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherOperatingAssets" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherOperatingAssets" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsPayable" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to IncreaseDecreaseInOperatingCapitalAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetCashProvidedByUsedInOperatingActivities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to PaymentsToAcquirePropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to NetCashProvidedByUsedInInvestingActivities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="ProceedsFromLinesOfCredit" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to ProceedsFromLinesOfCredit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="PaymentsOfLoanCosts" xlink:title="PaymentsOfLoanCosts" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="PaymentsOfLoanCosts" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to PaymentsOfLoanCosts" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to NetCashProvidedByUsedInFinancingActivities" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="SupplementalCashFlowInformationAbstract" xlink:title="SupplementalCashFlowInformationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="InterestPaidNet" xlink:title="InterestPaidNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="InterestPaidNet" xlink:title="presentation: SupplementalCashFlowInformationAbstract to InterestPaidNet" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="IncomeTaxesPaid" xlink:title="IncomeTaxesPaid" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="IncomeTaxesPaid" xlink:title="presentation: SupplementalCashFlowInformationAbstract to IncomeTaxesPaid" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="CapitalExpendituresIncurredButNotYetPaid" xlink:title="CapitalExpendituresIncurredButNotYetPaid" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="CapitalExpendituresIncurredButNotYetPaid" xlink:title="presentation: SupplementalCashFlowInformationAbstract to CapitalExpendituresIncurredButNotYetPaid" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="SupplementalCashFlowInformationAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to SupplementalCashFlowInformationAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DescriptionOfBusiness">
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DescriptionOfBusinessAbstract" xlink:label="DescriptionOfBusinessAbstract" xlink:title="DescriptionOfBusinessAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations" xlink:label="NatureOfOperations" xlink:title="NatureOfOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DescriptionOfBusinessAbstract" xlink:to="NatureOfOperations" xlink:title="presentation: DescriptionOfBusinessAbstract to NatureOfOperations" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Inventories">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="InventoryDisclosureTextBlock" xlink:title="InventoryDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryDisclosureTextBlock" xlink:title="presentation: InventoryDisclosureAbstract to InventoryDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNet">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:title="PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to PropertyPlantAndEquipmentDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNet">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="IntangibleAssetsDisclosureTextBlock" xlink:title="IntangibleAssetsDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="IntangibleAssetsDisclosureTextBlock" xlink:title="presentation: GoodwillAndIntangibleAssetsDisclosureAbstract to IntangibleAssetsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilities">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="PayablesAndAccrualsAbstract" xlink:title="PayablesAndAccrualsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:title="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:title="presentation: PayablesAndAccrualsAbstract to AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RetirementSavingsPlan">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="CompensationAndEmployeeBenefitPlansTextBlock" xlink:title="CompensationAndEmployeeBenefitPlansTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="CompensationAndEmployeeBenefitPlansTextBlock" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to CompensationAndEmployeeBenefitPlansTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Borrowings">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtDisclosureTextBlock" xlink:title="presentation: DebtDisclosureAbstract to DebtDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlans">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxes">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxDisclosureTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShare">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="EarningsPerShareTextBlock" xlink:title="EarningsPerShareTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareTextBlock" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockRepurchaseProgram">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="TreasuryStockTextBlock" xlink:title="TreasuryStockTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="TreasuryStockTextBlock" xlink:title="presentation: EquityAbstract to TreasuryStockTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="SegmentReportingDisclosureTextBlock" xlink:title="SegmentReportingDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="SegmentReportingDisclosureTextBlock" xlink:title="presentation: SegmentReportingAbstract to SegmentReportingDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Leases">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="LesseeOperatingLeasesTextBlock" xlink:title="LesseeOperatingLeasesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeasesTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeasesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="QuarterlyFinancialInformationDisclosureAbstract" xlink:title="QuarterlyFinancialInformationDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="QuarterlyFinancialInformationTextBlock" xlink:title="QuarterlyFinancialInformationTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="QuarterlyFinancialInformationTextBlock" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to QuarterlyFinancialInformationTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RelatedPartyTransactions">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" xlink:title="RelatedPartyTransactionsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="RelatedPartyTransactionsDisclosureTextBlock" xlink:title="RelatedPartyTransactionsDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="RelatedPartyTransactionsDisclosureTextBlock" xlink:title="presentation: RelatedPartyTransactionsAbstract to RelatedPartyTransactionsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SubsequentEvents">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="SubsequentEventsAbstract" xlink:title="SubsequentEventsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="SubsequentEventsTextBlock" xlink:title="SubsequentEventsTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsAbstract" xlink:to="SubsequentEventsTextBlock" xlink:title="presentation: SubsequentEventsAbstract to SubsequentEventsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InsiderTradingArrangements">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="InsiderTradingArrLineItems" xlink:title="InsiderTradingArrLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="Rule10b51ArrAdoptedFlag" xlink:title="Rule10b51ArrAdoptedFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="Rule10b51ArrAdoptedFlag" xlink:title="presentation: InsiderTradingArrLineItems to Rule10b51ArrAdoptedFlag" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="NonRule10b51ArrAdoptedFlag" xlink:title="NonRule10b51ArrAdoptedFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="NonRule10b51ArrAdoptedFlag" xlink:title="presentation: InsiderTradingArrLineItems to NonRule10b51ArrAdoptedFlag" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="Rule10b51ArrTrmntdFlag" xlink:title="Rule10b51ArrTrmntdFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="Rule10b51ArrTrmntdFlag" xlink:title="presentation: InsiderTradingArrLineItems to Rule10b51ArrTrmntdFlag" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="NonRule10b51ArrTrmntdFlag" xlink:title="NonRule10b51ArrTrmntdFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="NonRule10b51ArrTrmntdFlag" xlink:title="presentation: InsiderTradingArrLineItems to NonRule10b51ArrTrmntdFlag" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="ConsolidationPolicyTextBlock" xlink:title="ConsolidationPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ConsolidationPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ConsolidationPolicyTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="UseOfEstimates" xlink:title="UseOfEstimates" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="UseOfEstimates" xlink:title="presentation: AccountingPoliciesAbstract to UseOfEstimates" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="SegmentReportingPolicyPolicyTextBlock" xlink:title="SegmentReportingPolicyPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SegmentReportingPolicyPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to SegmentReportingPolicyPolicyTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="CashAndCashEquivalentsPolicyTextBlock" xlink:title="CashAndCashEquivalentsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="CashAndCashEquivalentsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to CashAndCashEquivalentsPolicyTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="TradeAndOtherAccountsReceivablePolicy" xlink:title="TradeAndOtherAccountsReceivablePolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="TradeAndOtherAccountsReceivablePolicy" xlink:title="presentation: AccountingPoliciesAbstract to TradeAndOtherAccountsReceivablePolicy" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="InventoryPolicyTextBlock" xlink:title="InventoryPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="InventoryPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to InventoryPolicyTextBlock" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to PropertyPlantAndEquipmentPolicyTextBlock" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="LesseeLeasesPolicyTextBlock" xlink:title="LesseeLeasesPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="LesseeLeasesPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to LesseeLeasesPolicyTextBlock" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:title="GoodwillAndIntangibleAssetsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to GoodwillAndIntangibleAssetsPolicyTextBlock" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to RevenueFromContractWithCustomerPolicyTextBlock" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="ConcentrationRiskCreditRisk" xlink:title="ConcentrationRiskCreditRisk" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ConcentrationRiskCreditRisk" xlink:title="presentation: AccountingPoliciesAbstract to ConcentrationRiskCreditRisk" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="ResearchAndDevelopmentExpensePolicy" xlink:title="ResearchAndDevelopmentExpensePolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ResearchAndDevelopmentExpensePolicy" xlink:title="presentation: AccountingPoliciesAbstract to ResearchAndDevelopmentExpensePolicy" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="AdvertisingCostsPolicyTextBlock" xlink:title="AdvertisingCostsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="AdvertisingCostsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to AdvertisingCostsPolicyTextBlock" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="IncomeTaxPolicyTextBlock" xlink:title="IncomeTaxPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="IncomeTaxPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to IncomeTaxPolicyTextBlock" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="presentation: AccountingPoliciesAbstract to ShareBasedCompensationOptionAndIncentivePlansPolicy" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="EarningsPerSharePolicyTextBlock" xlink:title="EarningsPerSharePolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="EarningsPerSharePolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to EarningsPerSharePolicyTextBlock" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to NewAccountingPronouncementsPolicyPolicyTextBlock" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:label="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:title="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DisaggregationOfRevenueTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to DisaggregationOfRevenueTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ContractWithCustomerAssetAndLiabilityTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:title="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="ScheduleOfInventoryCurrentTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="presentation: InventoryDisclosureAbstract to ScheduleOfInventoryCurrentTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNetTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="PropertyPlantAndEquipmentTextBlock" xlink:title="PropertyPlantAndEquipmentTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="PropertyPlantAndEquipmentTextBlock" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to PropertyPlantAndEquipmentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNetTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:title="presentation: GoodwillAndIntangibleAssetsDisclosureAbstract to ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="PayablesAndAccrualsAbstract" xlink:title="PayablesAndAccrualsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:title="ScheduleOfAccruedLiabilitiesTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:title="presentation: PayablesAndAccrualsAbstract to ScheduleOfAccruedLiabilitiesTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:title="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:title="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="SummaryOfValuationAllowanceTextBlock" xlink:title="SummaryOfValuationAllowanceTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="SummaryOfValuationAllowanceTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to SummaryOfValuationAllowanceTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:title="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="presentation: EarningsPerShareAbstract to ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformationTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:title="presentation: SegmentReportingAbstract to ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:label="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:label="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="QuarterlyFinancialInformationDisclosureAbstract" xlink:title="QuarterlyFinancialInformationDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:title="ScheduleOfQuarterlyFinancialInformationTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DescriptionOfBusinessDetails">
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DescriptionOfBusinessAbstract" xlink:label="DescriptionOfBusinessAbstract" xlink:title="DescriptionOfBusinessAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DescriptionOfBusinessAbstract" xlink:to="NumberOfOperatingSegments" xlink:title="presentation: DescriptionOfBusinessAbstract to NumberOfOperatingSegments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_NumberOfSoftwareSolutions" xlink:label="NumberOfSoftwareSolutions" xlink:title="NumberOfSoftwareSolutions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DescriptionOfBusinessAbstract" xlink:to="NumberOfSoftwareSolutions" xlink:title="presentation: DescriptionOfBusinessAbstract to NumberOfSoftwareSolutions" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="StatementScenarioAxis" xlink:title="StatementScenarioAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="ScenarioUnspecifiedDomain" xlink:title="ScenarioUnspecifiedDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="ScenarioForecastMember" xlink:title="ScenarioForecastMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScenarioUnspecifiedDomain" xlink:to="ScenarioForecastMember" xlink:title="presentation: ScenarioUnspecifiedDomain to ScenarioForecastMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementScenarioAxis" xlink:to="ScenarioUnspecifiedDomain" xlink:title="presentation: StatementScenarioAxis to ScenarioUnspecifiedDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="StatementScenarioAxis" xlink:title="presentation: DebtInstrumentTable to StatementScenarioAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="OperatingExpenses" xlink:title="presentation: OperatingExpensesAbstract to OperatingExpenses" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentLineItems" xlink:to="OperatingExpensesAbstract" xlink:title="presentation: DebtInstrumentLineItems to OperatingExpensesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentLineItems" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DescriptionOfBusinessAbstract" xlink:to="DebtInstrumentTable" xlink:title="presentation: DescriptionOfBusinessAbstract to DebtInstrumentTable" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="NumberOfOperatingSegments" xlink:title="presentation: SegmentReportingAbstract to NumberOfOperatingSegments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SegmentReportingAbstract" xlink:title="presentation: AccountingPoliciesAbstract to SegmentReportingAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:label="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:title="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:label="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:title="AllowanceForDoubtfulAccountsReceivableRollforward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="presentation: AllowanceForDoubtfulAccountsReceivableRollforward to AllowanceForDoubtfulAccountsReceivableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="ProvisionForDoubtfulAccounts" xlink:title="ProvisionForDoubtfulAccounts" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="ProvisionForDoubtfulAccounts" xlink:title="presentation: AllowanceForDoubtfulAccountsReceivableRollforward to ProvisionForDoubtfulAccounts" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:title="AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:title="presentation: AllowanceForDoubtfulAccountsReceivableRollforward to AllowanceForDoubtfulAccountsReceivableWriteOffs" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent_2" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent_2" xlink:title="presentation: AllowanceForDoubtfulAccountsReceivableRollforward to AllowanceForDoubtfulAccountsReceivableCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:to="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:title="presentation: AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract to AllowanceForDoubtfulAccountsReceivableRollforward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:title="presentation: AccountingPoliciesAbstract to AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ToolsDiesAndMoldsMember" xlink:label="ToolsDiesAndMoldsMember" xlink:title="ToolsDiesAndMoldsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ToolsDiesAndMoldsMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to ToolsDiesAndMoldsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndOfficeEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FurnitureAndOfficeEquipmentMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ComputerSoftwareAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to ComputerSoftwareAndEquipmentMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to RangeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="PropertyPlantAndEquipmentUsefulLife" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to PropertyPlantAndEquipmentUsefulLife" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="Depreciation" xlink:title="Depreciation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="Depreciation" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to Depreciation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentAbstract" xlink:title="presentation: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentLineItems" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfPropertyPlantAndEquipmentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FacilityInLasVegasNevadaMember" xlink:label="FacilityInLasVegasNevadaMember" xlink:title="FacilityInLasVegasNevadaMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FacilityInLasVegasNevadaMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FacilityInLasVegasNevadaMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: LesseeLeaseDescriptionTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="RangeAxis" xlink:title="presentation: LesseeLeaseDescriptionTable to RangeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="AssetsAndLiabilitiesLesseeAbstract" xlink:title="AssetsAndLiabilitiesLesseeAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:label="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="presentation: AssetsAndLiabilitiesLesseeAbstract to IncreaseDecreaseInOperatingLeaseRightOfUseAsset" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="presentation: AssetsAndLiabilitiesLesseeAbstract to IncreaseDecreaseInOperatingLeaseLiability" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="LesseeOperatingLeaseRemainingLeaseTerm" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="presentation: AssetsAndLiabilitiesLesseeAbstract to LesseeOperatingLeaseRemainingLeaseTerm" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="AssetsAndLiabilitiesLesseeAbstract" xlink:title="presentation: LesseeLeaseDescriptionLineItems to AssetsAndLiabilitiesLesseeAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="LesseeLeaseDescriptionLineItems" xlink:title="presentation: LesseeLeaseDescriptionTable to LesseeLeaseDescriptionLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="LesseeLeaseDescriptionTable" xlink:title="presentation: AccountingPoliciesAbstract to LesseeLeaseDescriptionTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="GoodwillAndIntangibleAssetImpairment" xlink:title="GoodwillAndIntangibleAssetImpairment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="GoodwillAndIntangibleAssetImpairment" xlink:title="presentation: AccountingPoliciesAbstract to GoodwillAndIntangibleAssetImpairment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:label="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:title="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:title="presentation: AccountingPoliciesAbstract to TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="FoodServiceTechnologyMember" xlink:title="presentation: ProductsAndServicesDomain to FoodServiceTechnologyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="PosAutomationAndBankingMember" xlink:title="presentation: ProductsAndServicesDomain to PosAutomationAndBankingMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="CasinoAndGamingMember" xlink:title="presentation: ProductsAndServicesDomain to CasinoAndGamingMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="TransactServicesGroupMember" xlink:title="presentation: ProductsAndServicesDomain to TransactServicesGroupMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain" xlink:title="presentation: ProductOrServiceAxis to ProductsAndServicesDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="ProductOrServiceAxis" xlink:title="presentation: DisaggregationOfRevenueTable to ProductOrServiceAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="presentation: SegmentGeographicalDomain to InternationalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: DisaggregationOfRevenueAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="presentation: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="DisaggregationOfRevenueLineItems" xlink:title="presentation: DisaggregationOfRevenueTable to DisaggregationOfRevenueLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DisaggregationOfRevenueTable" xlink:title="presentation: AccountingPoliciesAbstract to DisaggregationOfRevenueTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ContractWithCustomerRevenueRecognized" xlink:label="ContractWithCustomerRevenueRecognized" xlink:title="ContractWithCustomerRevenueRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ContractWithCustomerRevenueRecognized" xlink:title="presentation: AccountingPoliciesAbstract to ContractWithCustomerRevenueRecognized" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="ContractWithCustomerAssetAndLiabilityAbstract" xlink:title="ContractWithCustomerAssetAndLiabilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="ContractWithCustomerAssetNetCurrent" xlink:title="presentation: ContractWithCustomerAssetAndLiabilityAbstract to ContractWithCustomerAssetNetCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="ContractWithCustomerAssetNetNoncurrent" xlink:title="presentation: ContractWithCustomerAssetAndLiabilityAbstract to ContractWithCustomerAssetNetNoncurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="presentation: ContractWithCustomerAssetAndLiabilityAbstract to ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="presentation: ContractWithCustomerAssetAndLiabilityAbstract to ContractWithCustomerLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="presentation: ContractWithCustomerAssetAndLiabilityAbstract to ContractWithCustomerLiabilityNoncurrent" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="ContractWithCustomerAssetLiabilityNet" xlink:title="presentation: ContractWithCustomerAssetAndLiabilityAbstract to ContractWithCustomerAssetLiabilityNet" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ContractWithCustomerAssetAndLiabilityAbstract" xlink:title="presentation: AccountingPoliciesAbstract to ContractWithCustomerAssetAndLiabilityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="presentation: RevenuePerformanceObligationAbstract to RevenueRemainingPerformanceObligation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="presentation: RevenuePerformanceObligationAbstract to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="presentation: AccountingPoliciesAbstract to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="AccountsReceivableMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to AccountsReceivableMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="presentation: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskByBenchmarkAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTypeDomain" xlink:to="CustomerConcentrationRiskMember" xlink:title="presentation: ConcentrationRiskTypeDomain to CustomerConcentrationRiskMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="presentation: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_InternationalGameTechnologyPlcMember" xlink:label="InternationalGameTechnologyPlcMember" xlink:title="InternationalGameTechnologyPlcMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NameOfMajorCustomerDomain" xlink:to="InternationalGameTechnologyPlcMember" xlink:title="presentation: NameOfMajorCustomerDomain to InternationalGameTechnologyPlcMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TheBrightGroupMember" xlink:label="TheBrightGroupMember" xlink:title="TheBrightGroupMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NameOfMajorCustomerDomain" xlink:to="TheBrightGroupMember" xlink:title="presentation: NameOfMajorCustomerDomain to TheBrightGroupMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain" xlink:title="presentation: MajorCustomersAxis to NameOfMajorCustomerDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="MajorCustomersAxis" xlink:title="presentation: ConcentrationRiskTable to MajorCustomersAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="ConcentrationRiskPercentage1" xlink:title="presentation: RisksAndUncertaintiesAbstract to ConcentrationRiskPercentage1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskLineItems" xlink:to="RisksAndUncertaintiesAbstract" xlink:title="presentation: ConcentrationRiskLineItems to RisksAndUncertaintiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskLineItems" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ConcentrationRiskTable" xlink:title="presentation: AccountingPoliciesAbstract to ConcentrationRiskTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseAbstract" xlink:label="ResearchAndDevelopmentExpenseAbstract" xlink:title="ResearchAndDevelopmentExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ResearchAndDevelopmentExpenseAbstract" xlink:to="ResearchAndDevelopmentExpense" xlink:title="presentation: ResearchAndDevelopmentExpenseAbstract to ResearchAndDevelopmentExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ResearchAndDevelopmentExpenseAbstract" xlink:title="presentation: AccountingPoliciesAbstract to ResearchAndDevelopmentExpenseAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:label="MarketingAndAdvertisingExpenseAbstract" xlink:title="MarketingAndAdvertisingExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense" xlink:label="AdvertisingExpense" xlink:title="AdvertisingExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MarketingAndAdvertisingExpenseAbstract" xlink:to="AdvertisingExpense" xlink:title="presentation: MarketingAndAdvertisingExpenseAbstract to AdvertisingExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="MarketingAndAdvertisingExpenseAbstract" xlink:title="presentation: AccountingPoliciesAbstract to MarketingAndAdvertisingExpenseAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="presentation: InventoryDisclosureAbstract to InventoryRawMaterialsAndSuppliesNetOfReserves" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryFinishedGoodsNetOfReserves" xlink:title="presentation: InventoryDisclosureAbstract to InventoryFinishedGoodsNetOfReserves" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryNet" xlink:title="presentation: InventoryDisclosureAbstract to InventoryNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNetDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndOfficeEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FurnitureAndOfficeEquipmentMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ComputerSoftwareAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to ComputerSoftwareAndEquipmentMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="LeaseholdImprovementsMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to LeaseholdImprovementsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FixedAssetsExcludingConstructionInProcessMember" xlink:label="FixedAssetsExcludingConstructionInProcessMember" xlink:title="FixedAssetsExcludingConstructionInProcessMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FixedAssetsExcludingConstructionInProcessMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FixedAssetsExcludingConstructionInProcessMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="ConstructionInProgressMember" xlink:title="ConstructionInProgressMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ConstructionInProgressMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to ConstructionInProgressMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to PropertyPlantAndEquipmentGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to PropertyPlantAndEquipmentNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="presentation: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetByTypeAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentLineItems" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to ScheduleOfPropertyPlantAndEquipmentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNetDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="TechnologyBasedIntangibleAssetsMember" xlink:title="TechnologyBasedIntangibleAssetsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="TechnologyBasedIntangibleAssetsMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to TechnologyBasedIntangibleAssetsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="PatentsMember" xlink:title="PatentsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="PatentsMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to PatentsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="presentation: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsByMajorClassAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="FiniteLivedIntangibleAssetsGross" xlink:title="FiniteLivedIntangibleAssetsGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsGross" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAccumulatedAmortization" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="presentation: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="AmortizationOfIntangibleAssets" xlink:title="presentation: FiniteLivedIntangibleAssetsLineItems to AmortizationOfIntangibleAssets" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:label="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:title="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="presentation: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsLineItems" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="presentation: GoodwillAndIntangibleAssetsDisclosureAbstract to ScheduleOfFiniteLivedIntangibleAssetsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="PayablesAndAccrualsAbstract" xlink:title="PayablesAndAccrualsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="EmployeeRelatedLiabilitiesCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to EmployeeRelatedLiabilitiesCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="TaxesPayableCurrent" xlink:title="TaxesPayableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="TaxesPayableCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to TaxesPayableCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedProfessionalFeesCurrent" xlink:label="AccruedProfessionalFeesCurrent" xlink:title="AccruedProfessionalFeesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="AccruedProfessionalFeesCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to AccruedProfessionalFeesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="OtherLiabilitiesCurrent" xlink:title="OtherLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="OtherLiabilitiesCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to OtherLiabilitiesCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="AccruedLiabilitiesCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to AccruedLiabilitiesCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RetirementSavingsPlanDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to DefinedContributionPlanEmployerMatchingContributionPercent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="DefinedContributionPlanCostRecognized" xlink:title="DefinedContributionPlanCostRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="DefinedContributionPlanCostRecognized" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to DefinedContributionPlanCostRecognized" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BorrowingsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentNameDomain" xlink:to="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="presentation: DebtInstrumentNameDomain to RevolvingCreditFacilitySienaLendingGroupLlcMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="presentation: DebtInstrumentAxis to DebtInstrumentNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateDomain" xlink:to="PrimeRateMember" xlink:title="presentation: VariableRateDomain to PrimeRateMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateDomain" xlink:to="FederalFundsEffectiveSwapRateMember" xlink:title="presentation: VariableRateDomain to FederalFundsEffectiveSwapRateMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain" xlink:title="presentation: VariableRateAxis to VariableRateDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="VariableRateAxis" xlink:title="presentation: DebtInstrumentTable to VariableRateAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="RangeAxis" xlink:title="presentation: DebtInstrumentTable to RangeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityMaximumBorrowingCapacity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentBasisSpreadOnVariableRate1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentInterestRateStatedPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentInterestRateStatedPercentage" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DeferredFinanceCostsGross" xlink:title="presentation: LineOfCreditFacilityAbstract to DeferredFinanceCostsGross" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleAccountsReceivable" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventory" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityRemainingBorrowingCapacity" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:label="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:label="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="SecuredDebt" xlink:title="presentation: LineOfCreditFacilityAbstract to SecuredDebt" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityAbstract" xlink:title="presentation: DebtInstrumentLineItems to LineOfCreditFacilityAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentLineItems" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtInstrumentTable" xlink:title="presentation: DebtDisclosureAbstract to DebtInstrumentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2014Member" xlink:title="presentation: PlanNameDomain to EquityIncentivePlan2014Member" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="presentation: PlanNameAxis to PlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to RangeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedArrangementsToObtainGoodsAndServicesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2014Member" xlink:title="presentation: PlanNameDomain to EquityIncentivePlan2014Member" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="presentation: PlanNameAxis to PlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedArrangementsToObtainGoodsAndServicesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="GeneralAndAdministrativeExpenseMember" xlink:title="GeneralAndAdministrativeExpenseMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementLocationDomain" xlink:to="GeneralAndAdministrativeExpenseMember" xlink:title="presentation: IncomeStatementLocationDomain to GeneralAndAdministrativeExpenseMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain" xlink:title="presentation: IncomeStatementLocationAxis to IncomeStatementLocationDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="IncomeStatementLocationAxis" xlink:title="presentation: ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable to IncomeStatementLocationAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="presentation: ShareBasedCompensationAbstract to AllocatedShareBasedCompensationExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="ShareBasedCompensationAbstract" xlink:title="presentation: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to ShareBasedCompensationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="presentation: ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable to EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="presentation: PlanNameDomain to EquityIncentivePlan2005AndEquityIncentivePlan2014Member" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="presentation: PlanNameAxis to PlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to StockIssuedDuringPeriodSharesStockOptionsExercised" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityAwardsAggregateIntrinsicValueAbstract" xlink:label="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="EquityAwardsAggregateIntrinsicValueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="presentation: EquityAwardsAggregateIntrinsicValueAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="presentation: EquityAwardsAggregateIntrinsicValueAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="presentation: EquityAwardsAggregateIntrinsicValueAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EquityAwardsAggregateIntrinsicValueAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:label="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="EquityAwardsWeightedAverageRemainingContractualTermAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="presentation: EquityAwardsWeightedAverageRemainingContractualTermAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="presentation: EquityAwardsWeightedAverageRemainingContractualTermAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="presentation: EquityAwardsWeightedAverageRemainingContractualTermAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EquityAwardsWeightedAverageRemainingContractualTermAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="ProceedsFromStockOptionsExercised" xlink:title="ProceedsFromStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ProceedsFromStockOptionsExercised" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ProceedsFromStockOptionsExercised" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentFederalTaxExpenseBenefit" xlink:title="presentation: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentFederalTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="presentation: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentStateAndLocalTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentForeignTaxExpenseBenefit" xlink:title="presentation: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentForeignTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentIncomeTaxExpenseBenefit" xlink:title="presentation: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentIncomeTaxExpenseBenefit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredFederalIncomeTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredStateAndLocalIncomeTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredForeignIncomeTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredIncomeTaxExpenseBenefit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsAbstract to IncomeTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxExpenseBenefitContinuingOperationsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperations" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateContinuingOperations" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="OperatingLossCarryforwardsTable" xlink:title="OperatingLossCarryforwardsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="TaxCreditCarryforwardAxis" xlink:title="TaxCreditCarryforwardAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="TaxCreditCarryforwardNameDomain" xlink:title="TaxCreditCarryforwardNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchMember" xlink:label="ResearchMember" xlink:title="ResearchMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TaxCreditCarryforwardNameDomain" xlink:to="ResearchMember" xlink:title="presentation: TaxCreditCarryforwardNameDomain to ResearchMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TaxCreditCarryforwardAxis" xlink:to="TaxCreditCarryforwardNameDomain" xlink:title="presentation: TaxCreditCarryforwardAxis to TaxCreditCarryforwardNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLossCarryforwardsTable" xlink:to="TaxCreditCarryforwardAxis" xlink:title="presentation: OperatingLossCarryforwardsTable to TaxCreditCarryforwardAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="IncomeTaxAuthorityAxis" xlink:title="IncomeTaxAuthorityAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="IncomeTaxAuthorityDomain" xlink:title="IncomeTaxAuthorityDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="DomesticCountryMember" xlink:title="DomesticCountryMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityDomain" xlink:to="DomesticCountryMember" xlink:title="presentation: IncomeTaxAuthorityDomain to DomesticCountryMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="StateAndLocalJurisdictionMember" xlink:title="StateAndLocalJurisdictionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityDomain" xlink:to="StateAndLocalJurisdictionMember" xlink:title="presentation: IncomeTaxAuthorityDomain to StateAndLocalJurisdictionMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityAxis" xlink:to="IncomeTaxAuthorityDomain" xlink:title="presentation: IncomeTaxAuthorityAxis to IncomeTaxAuthorityDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLossCarryforwardsTable" xlink:to="IncomeTaxAuthorityAxis" xlink:title="presentation: OperatingLossCarryforwardsTable to IncomeTaxAuthorityAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="OperatingLossCarryforwardsLineItems" xlink:title="OperatingLossCarryforwardsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_OperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="OperatingLossCarryforwardsNotSubjectToExpiration" xlink:title="OperatingLossCarryforwardsNotSubjectToExpiration" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="OperatingLossCarryforwardsNotSubjectToExpiration" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to OperatingLossCarryforwardsNotSubjectToExpiration" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="OperatingLossCarryforwardsSubjectToExpiration" xlink:title="OperatingLossCarryforwardsSubjectToExpiration" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="OperatingLossCarryforwardsSubjectToExpiration" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to OperatingLossCarryforwardsSubjectToExpiration" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TaxCreditCarryforwardAmountSubjectToExpiration" xlink:label="TaxCreditCarryforwardAmountSubjectToExpiration" xlink:title="TaxCreditCarryforwardAmountSubjectToExpiration" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="TaxCreditCarryforwardAmountSubjectToExpiration" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to TaxCreditCarryforwardAmountSubjectToExpiration" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="presentation: OperatingLossCarryforwardsLineItems to IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLossCarryforwardsTable" xlink:to="OperatingLossCarryforwardsLineItems" xlink:title="presentation: OperatingLossCarryforwardsTable to OperatingLossCarryforwardsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="OperatingLossCarryforwardsTable" xlink:title="presentation: IncomeTaxDisclosureAbstract to OperatingLossCarryforwardsTable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:title="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="DeferredTaxAssetsNetAbstract" xlink:title="DeferredTaxAssetsNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsOperatingLossCarryforwardsDomestic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsOperatingLossCarryforwardsForeign" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:title="DeferredTaxAssetsInProcessResearchAndDevelopment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsInProcessResearchAndDevelopment" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsInventory" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsInventory" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="DeferredTaxAssetsDeferredIncome" xlink:title="DeferredTaxAssetsDeferredIncome" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsDeferredIncome" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsDeferredIncome" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxCreditCarryforwardsResearch" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="DeferredTaxAssetsOther" xlink:title="DeferredTaxAssetsOther" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsOther" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsOther" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsGross" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsGross" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsValuationAllowance" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsValuationAllowance" order="14.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsNet" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsNet" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="DeferredTaxAssetsNetAbstract" xlink:title="presentation: ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract to DeferredTaxAssetsNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="DeferredTaxLiabilitiesNetAbstract" xlink:title="DeferredTaxLiabilitiesNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiabilitiesNetAbstract" xlink:to="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="presentation: DeferredTaxLiabilitiesNetAbstract to DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="DeferredTaxLiabilitiesOther" xlink:title="DeferredTaxLiabilitiesOther" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiabilitiesNetAbstract" xlink:to="DeferredTaxLiabilitiesOther" xlink:title="presentation: DeferredTaxLiabilitiesNetAbstract to DeferredTaxLiabilitiesOther" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="DeferredTaxLiabilities" xlink:title="DeferredTaxLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiabilitiesNetAbstract" xlink:to="DeferredTaxLiabilities" xlink:title="presentation: DeferredTaxLiabilitiesNetAbstract to DeferredTaxLiabilities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="DeferredTaxLiabilitiesNetAbstract" xlink:title="presentation: ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract to DeferredTaxLiabilitiesNetAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="DeferredTaxAssetsLiabilitiesNet" xlink:title="presentation: ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract to DeferredTaxAssetsLiabilitiesNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="ValuationAndQualifyingAccountsDisclosureTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="ValuationAllowancesAndReservesTypeAxis" xlink:title="ValuationAllowancesAndReservesTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="ValuationAllowancesAndReservesDomain" xlink:title="ValuationAllowancesAndReservesDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xlink:label="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="ValuationAllowanceOperatingLossCarryforwardsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ValuationAllowancesAndReservesDomain" xlink:to="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="presentation: ValuationAllowancesAndReservesDomain to ValuationAllowanceOperatingLossCarryforwardsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ValuationAllowancesAndReservesTypeAxis" xlink:to="ValuationAllowancesAndReservesDomain" xlink:title="presentation: ValuationAllowancesAndReservesTypeAxis to ValuationAllowancesAndReservesDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ValuationAndQualifyingAccountsDisclosureTable" xlink:to="ValuationAllowancesAndReservesTypeAxis" xlink:title="presentation: ValuationAndQualifyingAccountsDisclosureTable to ValuationAllowancesAndReservesTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="ValuationAndQualifyingAccountsDisclosureLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="MovementInValuationAllowancesAndReservesRollForward" xlink:title="MovementInValuationAllowancesAndReservesRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="ValuationAllowancesAndReservesBalance" xlink:title="ValuationAllowancesAndReservesBalance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="ValuationAllowancesAndReservesBalance" xlink:title="presentation: MovementInValuationAllowancesAndReservesRollForward to ValuationAllowancesAndReservesBalance" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="ValuationAllowancesAndReservesDeductions" xlink:title="ValuationAllowancesAndReservesDeductions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="ValuationAllowancesAndReservesDeductions" xlink:title="presentation: MovementInValuationAllowancesAndReservesRollForward to ValuationAllowancesAndReservesDeductions" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="ValuationAllowancesAndReservesChargedToCostAndExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="presentation: MovementInValuationAllowancesAndReservesRollForward to ValuationAllowancesAndReservesChargedToCostAndExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="ValuationAllowancesAndReservesBalance_2" xlink:title="ValuationAllowancesAndReservesBalance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="ValuationAllowancesAndReservesBalance_2" xlink:title="presentation: MovementInValuationAllowancesAndReservesRollForward to ValuationAllowancesAndReservesBalance" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="MovementInValuationAllowancesAndReservesRollForward" xlink:title="presentation: ValuationAndQualifyingAccountsDisclosureLineItems to MovementInValuationAllowancesAndReservesRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ValuationAndQualifyingAccountsDisclosureTable" xlink:to="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="presentation: ValuationAndQualifyingAccountsDisclosureTable to ValuationAndQualifyingAccountsDisclosureLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="presentation: IncomeTaxDisclosureAbstract to ValuationAndQualifyingAccountsDisclosureTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:title="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:label="EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:title="EffectiveIncomeTaxRateReconciliationFdiiPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationFdiiPercent" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationFdiiPercent" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:label="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:title="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationTaxContingencies" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperations" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateContinuingOperations" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:title="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:title="presentation: IncomeTaxDisclosureAbstract to UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits" xlink:title="UnrecognizedTaxBenefits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefits" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefits" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:title="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefitsPeriodIncreaseDecrease" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:title="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits_2" xlink:title="UnrecognizedTaxBenefits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefits_2" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefits" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="presentation: IncomeTaxDisclosureAbstract to ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:label="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:title="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:title="presentation: IncomeTaxDisclosureAbstract to DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:label="IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:title="IncomeTaxExaminationPenaltiesAndInterestAccrued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxExaminationPenaltiesAndInterestAccrued" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: EarningsPerShareAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="presentation: EarningsPerShareAbstract to WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="EarningsPerShareBasicAbstract" xlink:title="EarningsPerShareBasicAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareBasicAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareBasicAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareBasicAbstract" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareBasicAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="StockCompensationPlanMember" xlink:title="presentation: AntidilutiveSecuritiesNameDomain to StockCompensationPlanMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain" xlink:title="presentation: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="presentation: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="presentation: EarningsPerShareReconciliationAbstract to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="EarningsPerShareReconciliationAbstract" xlink:title="presentation: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to EarningsPerShareReconciliationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="presentation: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="presentation: EarningsPerShareAbstract to ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockRepurchaseProgramDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="StockRepurchasedDuringPeriodShares" xlink:title="StockRepurchasedDuringPeriodShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="StockRepurchasedDuringPeriodShares" xlink:title="presentation: EquityAbstract to StockRepurchasedDuringPeriodShares" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="StockRepurchasedDuringPeriodValue" xlink:title="StockRepurchasedDuringPeriodValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="StockRepurchasedDuringPeriodValue" xlink:title="presentation: EquityAbstract to StockRepurchasedDuringPeriodValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:label="TreasuryStockAcquiredAverageCostPerShare" xlink:title="TreasuryStockAcquiredAverageCostPerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="TreasuryStockAcquiredAverageCostPerShare" xlink:title="presentation: EquityAbstract to TreasuryStockAcquiredAverageCostPerShare" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="ConsolidationItemsAxis" xlink:title="ConsolidationItemsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="ConsolidationItemsDomain" xlink:title="ConsolidationItemsDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ReportableGeographicalComponentsMember" xlink:label="ReportableGeographicalComponentsMember" xlink:title="ReportableGeographicalComponentsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConsolidationItemsDomain" xlink:to="ReportableGeographicalComponentsMember" xlink:title="presentation: ConsolidationItemsDomain to ReportableGeographicalComponentsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConsolidationItemsAxis" xlink:to="ConsolidationItemsDomain" xlink:title="presentation: ConsolidationItemsAxis to ConsolidationItemsDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConsolidationItemsAxis" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConsolidationItemsAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="presentation: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConcentrationRiskByBenchmarkAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTypeDomain" xlink:to="GeographicConcentrationRiskMember" xlink:title="presentation: ConcentrationRiskTypeDomain to GeographicConcentrationRiskMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="presentation: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConcentrationRiskByTypeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="presentation: SegmentGeographicalDomain to InternationalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="EuropeMember" xlink:title="EuropeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="EuropeMember" xlink:title="presentation: SegmentGeographicalDomain to EuropeMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_PacificRimMember" xlink:label="PacificRimMember" xlink:title="PacificRimMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="PacificRimMember" xlink:title="presentation: SegmentGeographicalDomain to PacificRimMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="presentation: SegmentGeographicalDomain to CA" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to StatementGeographicalAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentsGeographicalAreasAbstract" xlink:label="SegmentsGeographicalAreasAbstract" xlink:title="SegmentsGeographicalAreasAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: SegmentsGeographicalAreasAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: SegmentsGeographicalAreasAbstract to PropertyPlantAndEquipmentNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="ConcentrationRiskPercentage1" xlink:title="presentation: SegmentsGeographicalAreasAbstract to ConcentrationRiskPercentage1" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="SegmentsGeographicalAreasAbstract" xlink:title="presentation: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to SegmentsGeographicalAreasAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="presentation: SegmentReportingAbstract to ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="OperatingLeaseExpense" xlink:title="OperatingLeaseExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="OperatingLeaseExpense" xlink:title="presentation: LeasesAbstract to OperatingLeaseExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="CashFlowOperatingActivitiesLesseeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="OperatingLeasePayments" xlink:title="OperatingLeasePayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="OperatingLeasePayments" xlink:title="presentation: CashFlowOperatingActivitiesLesseeAbstract to OperatingLeasePayments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="presentation: LeasesAbstract to CashFlowOperatingActivitiesLesseeAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:label="LesseeOperatingLeaseDescriptionAbstract" xlink:title="LesseeOperatingLeaseDescriptionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="presentation: LesseeOperatingLeaseDescriptionAbstract to OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="presentation: LesseeOperatingLeaseDescriptionAbstract to OperatingLeaseWeightedAverageDiscountRatePercent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseDescriptionAbstract" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseDescriptionAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="OperatingLeaseLiability" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to OperatingLeaseLiability" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="presentation: LeasesAbstract to OperatingLeaseLiabilitiesPaymentsDueAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2" />
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="QuarterlyFinancialInformationDisclosureAbstract" xlink:title="QuarterlyFinancialInformationDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="GrossProfit" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to GrossProfit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to NetIncomeLoss" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="EarningsPerShareAbstract" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to EarningsPerShareAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RelatedPartyTransactionsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" xlink:title="RelatedPartyTransactionsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:title="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="RelatedPartyTransactionsByRelatedPartyAxis" xlink:title="RelatedPartyTransactionsByRelatedPartyAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="RelatedPartyDomain" xlink:title="RelatedPartyDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="RelatedPartyMember" xlink:title="RelatedPartyMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyDomain" xlink:to="RelatedPartyMember" xlink:title="presentation: RelatedPartyDomain to RelatedPartyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="RelatedPartyDomain" xlink:title="presentation: RelatedPartyTransactionsByRelatedPartyAxis to RelatedPartyDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="RelatedPartyTransactionsByRelatedPartyAxis" xlink:title="presentation: ScheduleOfRelatedPartyTransactionsByRelatedPartyTable to RelatedPartyTransactionsByRelatedPartyAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="CounterpartyNameAxis" xlink:title="CounterpartyNameAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="RepurchaseAgreementCounterpartyNameDomain" xlink:title="RepurchaseAgreementCounterpartyNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_TheOneGroupHospitalityIncMember" xlink:label="TheOneGroupHospitalityIncMember" xlink:title="TheOneGroupHospitalityIncMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RepurchaseAgreementCounterpartyNameDomain" xlink:to="TheOneGroupHospitalityIncMember" xlink:title="presentation: RepurchaseAgreementCounterpartyNameDomain to TheOneGroupHospitalityIncMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CounterpartyNameAxis" xlink:to="RepurchaseAgreementCounterpartyNameDomain" xlink:title="presentation: CounterpartyNameAxis to RepurchaseAgreementCounterpartyNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="CounterpartyNameAxis" xlink:title="presentation: ScheduleOfRelatedPartyTransactionsByRelatedPartyTable to CounterpartyNameAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="RelatedPartyTransactionLineItems" xlink:title="RelatedPartyTransactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="tact-20231231.xsd#tact_RelatedPartyTransactionAbstract" xlink:label="RelatedPartyTransactionAbstract" xlink:title="RelatedPartyTransactionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: RelatedPartyTransactionAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionAbstract" xlink:to="AccountsReceivableNetCurrent" xlink:title="presentation: RelatedPartyTransactionAbstract to AccountsReceivableNetCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionLineItems" xlink:to="RelatedPartyTransactionAbstract" xlink:title="presentation: RelatedPartyTransactionLineItems to RelatedPartyTransactionAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="RelatedPartyTransactionLineItems" xlink:title="presentation: ScheduleOfRelatedPartyTransactionsByRelatedPartyTable to RelatedPartyTransactionLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:title="presentation: RelatedPartyTransactionsAbstract to ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>14
<FILENAME>image01.jpg
<TEXT>
begin 644 image01.jpg
M_]C_X  02D9)1@ ! 0$ D "0  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" 0N!WP# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#W^BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBD) H 6BF^8OK2
M>:GK0 ^BH_.3UH\Y/44 244SS4]:7S%]: '44@(-+0 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 44A8"F^8OK0 ^BH_.3UH\Y/44 244SS4]:7>OK0 ZBD!S2T %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !110: "BD%+0 E+5*^O%MADFJ*ZRA_B%-(3:1MT5
MB_VPF?O"E_M=/[PI\K%S(V:*QO[73^\*0ZPG]X4<K#F1M45C?VNG]X4'6$Q]
MX4<K#F1LT5BC6$Q]X4HU=#_$*.5AS(V:*Q?[83^\*7^UT]11RL.9&S16+_;"
M9^\*7^UT]11RL.9&S16,=70?Q"C^UT]11RL.9&S16-_:Z>HH_M=/44<K#F1L
MT5C?VNGJ*/[73U%'(PYT;-%8W]KIZBC^UT]11RL.=&S16+_;"9^\*/[83/WA
M1RL.9&U16*=80?Q"@ZP@_B%'*PYD;5&:Q?[83'WA2?VRG]X4<K#F1MT5F6^H
MK*P -:0.0#4M%"T44'I0 45E76IK!)M)J)=80C[PJN5BNC:HK(&K(1U%1G64
MS]X4<C%S(VZ*Q/[83^\*7^V$QG<*.5AS(VJ,UBC6$Q]X4G]LI_>%'*PYD;>:
M,UB?VRG]X4?VRG]X4<K#F1MT5CKJR'^(4[^U%]11RL?,C6HK,&HKZTIU%0.H
MHY6+F1I452M[Q9FP#5VDU8I.X4444@"BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HI&.%)K)EU5(YBF1Q32N%S7HK%_MA,_>%+_:
MZ?WA3Y63S(V:*Q3K"#^(4O\ :Z?WA1RL.9&S16.=60+G<*:NL(3]X4<K#F1M
M457M9Q.F0:L5)04444 %%%% !1110 4444 %%%% !1110 45%/((H]QK+?5T
M5L;A32N)NQLT5BG6$_O"C^V$_O"GRL7,C:HK%.L)C[PH_MA,?>%'*PYD;5%5
M;.Y%RFX&K524%%%% !1110 4444 %%%% !1110 4444 %%95SJ:PS;"141UA
M,XW"J46R>9&U16,VKH/XA0-73U%'*PYD;-&:QSJR 9W"F?VRG]X4<K#F1MT5
M5L[D7"9!JU4E!1110 4444 %%%% !1110 4444 %%%5[NX$$>XF@"QFL?4M0
M%NV,U4E\01H<;A7'^(-?$DAVO6]*FY2U,:E1*-T;5WXD$0/SUAS>-51B/,_6
MN'U75G(;#UQMW?S%R0YKNCA4SD6(=SV+_A.ES_K/UIX\<+_ST_6O#OM=QNSO
M:IA=S[<[S3>%0Y8BQ[E!XT5SCS/UK9M/$HEQ\]> 6=_,&&7-=3INKNA7+T/"
MJQ*Q#9[UIM\+CO6MFO+_  [XA5"-SBNNCU^-_P"(5PUJ3C*R.RG431T5%5[2
M<3Q;@:L5SFP4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !15:[N!!'N)K/&KH1]X4U%L3:1LT5C?VNF/O"A-81G W#FGRL7,
MC9HID3[XPWK3ZDH**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBFNVU2: '4C$!2:RKG5$A)R169<>(XT5AN'2K4&2Y(FU'5A;NP
MW=*YVZ\5K%GY_P!:Y[7==\R1BKUPNI:E(V<.:[:>'N<DJUCT=_'"AL>9^M+_
M ,)NO_/3]:\5EO)R^=QH6\GR/G-=*PBL9/$M'NMOXP5R/G_6MF#Q"'4'=7@E
MEJ$JL,N:ZNRUA@B@O64\,D$<0VSW?3K@7$ ;-7:\_P! \1HEJ%9QFNBBUQ).
MC"O/E!IG=&::-ZBJEI="X'!JW4-%W$[TM)WI:0(****!A1110 444UVVH30
MZBLQ]256QFC^TEQU%5RL5T:=%9G]HKCJ*3^TE]11RL.9&I167_:2^HI!J:GN
M*.5BYD:M%9?]I+ZBC^TE]11RL.9&I167_:2^HH_M)?44<K'S(U**R_[27U%'
M]I+ZBCE8N9&I167_ &DOJ*7^TEQU%+E8<R-.BLK^TU]12_VDOJ*.5AS(U**R
M_P"TE]11_:2^HI\K'S(U**R_[27U%']I+ZBCE8N9&I169_:2^HI&U)0.HHY6
M',C4I*S?[27&<BG1:@LD@7-*S'=,T!2T@Y%+2&<9XWOC9Q YQ7#PZ\?[U;'Q
M8N3;VZX->3IJ9$8.ZNJA"YR5Y69Z'_;QW_>_6I/[=/\ >KSA=58O]ZI6U5@/
MO5U^Q.;VIZ"=>_VJ:VO'^]7GBZLQ_BH&JL3]ZDZ0*KK<]%&O''WJ1M>.W[U>
M>#5FS]Z@ZJ2<;J%1U'[4]"77CM^]3EU[@_-^M>='56'&ZC^UF'\5-T1QJZ'H
M@UXY^]3O[>_VJ\Y.JL/XJ0ZNV/O4_8:B=4]$_MX[OO4\:]S]ZO.!JK?WJ7^U
MF_O4.@'M3T5]>.?O?K1_;W'WJ\Z_M5C_ !4G]K-_>J?8#=4]&_M[_:H.O<?>
MKSE=68G[U(VKMG[U2J.I+K'HXU[C[U U[_:KS@:NW]ZC^UF_O5HZ(E59Z.->
M_P!J@:]S]ZO.#J[#^*C^UFQ]ZE[(/:L]$_MX[_O?K2G7CN^]^M>=#56Z[J=_
M:K==U/V)2J-GH;:\<CYOUI'UXX'S5Y[_ &JQ_BI/[58_Q4>Q#VC/1/[>.W[U
M,_MXY^]^M< NJL3C=3'U0@_>K*5*Q<:I[!H.K>=<(-W>O28CF)3[5X)X.U R
M7\0SWKWFV.;:,_[(KBJ*S.VF[HEJ.:01H2?2I*RM<G,%J6![5"W+.!\2:SY5
M\RAN]9<&O';]ZN4\4:J3J3?-WK&35F7C=7H4Z=XG#4J69Z8NN_*?FJHVO$N?
MG_6N!;6&5?O5#'JK,Q^:M_8&'MCT5M>./O4[^WCL^]7G?]J$MC=2_P!JMG&Z
MI= %5/0UUX[?O4P:\?[U<!_:A!QNI&U,@CYJ7L2E5/0?[=/][]:3^WCG[U<"
M=3./O5&VJ$#.ZFL.5[6YZ7#KO^U5E=<Y^]7E\>KL!]ZK":RV,[JET!^U/44U
ML?WJ636QC[U>8#7&'\5+_;C'^*E[$2JZGK^B:TAN/F>NL&K0G^(5\^V?B%H)
M-V^MJ#Q:Q;_6?K6%2@[FT*R2/:QJ,1/WJLQ3+*.#7D-KXG+2 ;_UKO\ P]J2
MW$>2PZ5A.DXHWC439TE%,$JGH13^M9&@4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110!!=S"*!R3VKRG4]<V:I(H;H:[OQ/>?9K1CG'RU\_Z
MQJ[?VI(=W>MZ4+G/6J6.[.O'=][]:=_;W/WOUKSG^U6QG=2?VNW]ZNR-*YQR
MJW/17UXY^]3O[>.!\U><KJK'^*C^UFS]ZK]B+VK9Z3+KW[K[U1P:Z=X^:O/#
MJ[,,;J(]58,/FK.5&R-:=0^B?#%U]IM-V<\5T%<)\.;L3Z9DGM7=UY\E9V.Z
M.P4445)04444 %%%% !1110 4444 %%%% &9KDWD6#/7E]UKI$Y&[O7?^-)O
M)T21O:OGVYU9C,WS=ZZ*,;G/6=COVUX\?-^M!UXX^]7G0U9C_%2C56/\5=?L
M3F]I8]$;7CM^]^M)_;QV?>_6O//[5;INH&JMG&ZFZ0O:,]Z\)ZLDUOAFY-=@
M#D9KP'PGX@,=_%#OZFO>+.02VL; ]5K@K0Y6=M&7-$GHHHK(U"BBB@ HHHH
M**** "BBB@ J.:01H2?2I*Q_$%R;>S+ ]J:U X'Q!K?E:J5#<9K/.NG>/FKC
MO$FK,=39MW>LU-58KG=7?3IZ'#4DST2;7NGS?K2KKW ^:O.'U9B?O4#5V_O5
MHJ6IBJCL>E2Z[^[^]59=>.<;JX ZNS#&ZHDU5C,!NI2II(N%34^B?"-U]IL]
MV<\5TM<+\-YO-TS.>U=U7G2W/06P4445(PHHHH **** "BBB@ I"<#-*3BJ]
MQ.J0L<CI0@&2WT<75JYSQ)K4269VOSBN=\2>(?L[, _3WKS[5?%#W"E-^?QK
MJIT&V<TZRL7=0U^02'#'\ZP+G5Y)FR6-4)KDR1ELU41MPS7I4Z-M3AJ5-"Q=
M7+/WK/D3=5DC=2%:[(P.5S*XB&VI/+'ETIZXH![4-"<KB1#;5@7#1XQ3%7FG
MR)Q4V"#U-*RUB6)A@FNHL=??"Y8_G7 CY35N.\,8'-<U6E?4[*<VCZ'\.:S$
M]@NYN:Z"*^CD/#5\_:5XH>! F^N[\/\ B'SY4!?K[UYDZ#6IWPJIH]0!R,TM
M003J\2G(Y%3]:Y3<**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH *1C@9I:BG8+"Y]!0)G,^*=42"T(#<BN%CU[Y?O?K5#QIKQ^V20[^AKB%
MU9@<;J]"E2]TY:D];'H_]NG:?FI+773]J0%N]>>?VLW3=2IJI2=#N[TW2T,N
M?4^E=)O$N+2/!R<5I5YWX#U4W:HA;.*]$K@DK,[H.ZN%%%%24%%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 444A('6@!'<(N369>ZG%'"WS4NKW
MBPV;-N'%>4ZYXF*%U#]_6M:=-R,JE11-#7=<P[;6KB=0U^7G#'\ZS+S66N'/
MS9K-FD\P5Z,*2..I4LBU-J;R]35*60N*KY^;%25V4H6.*=09Y8(IJ1C-29QQ
M0>#739&+;8+\IXJU%=.AZU!CBG,N$S6-2-RX-HUK77)8I H8X^M=;IFOL0,M
M^M>9EMIS5ZSU$Q]ZXI4=3KA49[_X:UA'7YFKJXKI)ONG-?/^C>(F@(&^O3O"
MFLB[<!G_ %KAK4FG<[:=6ZL=T*6F+(K=#3ZY3I"BBB@ HHHH *SM3ODMX&!.
M#6C7F?CW6&LY2@;%5"-W8F3LB.ZUL><V&[T@UL%?O5YL^M,[L=W>DBUHEB-U
M=RIG*YGI?]MC'WJ3^VQ_>KS9M:8-C=31K;;OO5HJ5S-U3THZV-OWJ:FN#^]7
MG#ZTW]ZF?VTP_BIJB+VIZ8-<&?O4G]MC/WJ\T_MML_>J0ZRVW.ZCV(O:GI/]
MN#^]1_;@_O5YG_;;?WJ4:VV/O4>P'[4]+_MP?WJ0ZX/[U>:?VVW]ZD_MMO[U
M-T!>U/2SK@Q]ZG#6QL^]7F8UIB?O4O\ ;;9QNK-T1.J>C_VX/[U.77!_>KS0
MZRV?O4IUIA_%2]B"JGI?]N#^]2_VX/[U>:?VTW]ZD.M-C[U-4="_:GI1UP?W
MJ!K8S]ZO-/[:;'WJ4:TV/O4_9$.J>F'6QQ\U-FUP;!\U>:KK;'^*D?6F/&ZE
M[(2JGIJZV/+^]5K2-8$VH(F[J:\J&M-L^]6KX4U<RZ_$F[J:SG2LKFM.I=GT
M+&<QJ?:G5' <V\9_V14E<)WGD'QE_P"/=*\=4'R17L?QD_X]TKQX'$ KTL(K
MH\[%.TAD0.^GS9'%$/W\T^9<G->DHG Y%=<BEP13@N33BO2DX:BYAF".:;SF
MIRORU'MIJ <PTY-+M)I^VG@8%/D17/H1;2:9M).*G'%"CYLT^43F1!3G%!4Y
MJ;'.:#US5<BL',1;2*0J:F(S2'FI<-!\Y"J$<TC(2:L=J3%1[,AR(-AI=AQ4
MV*=CBFHB4RMM)H"DG%3*.: ,-1R*Y7,1[3G%+@CBI.^:#US5<A2G8CVD4;2*
MD(S0>:7('.1X(YIK@[<U*W(Q2./W593AH.,]3K_ H)U"(^]?15K_ ,>L?^Z*
M^=O G%_%]:^B;7_CUC_W17CXA6D>MAW=$U87B89L6^E;M8?B3_CR;Z5C#<W>
MQ\W^)23J[#WK'8$2 5L^)/\ D-,?>LF09D!KV:,=#RJ[U$D!I$4K4K#.*".*
M[8P./F&!3G-*5/6GBAL8Q2< 4B, DYIQ!-.4?+0.*A15RE+03DU&X/2IAQ32
M*UY1J9$ 0*D4GI2XXI!UJ7 ?.(Q(I-Q'>GL,TS&:ATR5-B[SZU-'.R<YJ+9Q
M3'SC%1*F:*9JP:F4<'=79Z#XK^S*%W_K7F.UJEBDEC88)KEG2OH=%.KJ?0FD
M>)!=,HW]:[BUD$D"MGK7SKX=U9H9$W/WKV/1-=66V1=PKAJTK;';3J7.NHJ*
M"3S$W5+7,;A1110 4444 %%%% !1110 4444 %%%% !1110 4444 <-\0)O*
MLSSVKYZO\R7[GWKW;XGR;+/\*\*D^:<M7?AXWB<&*>I'M.,4W8:G]Z.*]&G#
M0\YRL,1"*:R$5.*1AFMN0(R($4DT/E:EC'S8IDXXK*<-#6$]3UWX::EY=LL>
M>M>P1G=&I]17SSX!N2EU$F>]?0=J<VT9_P!FO%Q$;2/6I.\2:BBBL#4****
M"BBB@ HHHH **** "BBB@#E?'O\ R+\OT-?--QGSW^M?2_CS_D 2_2OFJX'^
MD/\ 6NW"JYRXAV(D4TXH13Q3G(Q7K*F>;*9%M.,TJH2<U(<;*%("T2IZ"YRS
MI-R;?6(3GH:^C_"VH?:[./G.%KY@C8B^1QV->Z?#W4,P*I;M7FXJ&ESOPTST
M^BFHVY :=7G'<%%%% !1110 4444 %%%% !7/>*QG3V^E=#6%XG&;$_2JAN*
M6Q\V^(U/]I,/>LR/(7%;/B5?^)FWUK)"\UZ]*-T>56GJ1E3FG.A4 T_J14DH
M!45T\AS<Y6"G&:=#&3,#4A&$IULP\P"LZL?=-*4KL][^&(QI7X5Z!7!?#/\
MY!?X5WM>)4^)GLP^$****@H**** "BBB@ HHIDK[$S0!%>2B*W9L]!7G^L^)
MA"LB[_UK9\0ZXL%K(F[M7B>NZH\TLF&/)KKH4;[G/5J6$UO63=S,-W>N=D4L
M<U#EVE))/6K>1LKT:<+'FU*A"&XVT*-O%(!^\S4C#)KMC'0PE*Z#.*&.!2$4
M,,BK,AN,G-/"<9I%'%2Y&S%#0DQ@..:'DR*3M3=AJ+%Q(R_-+R:8R$&IHUXH
M<;FJG8;"Y68<UTNE:N;.=/FKF<8ES22NWF @FN6K3T-X5+'O.A>)Q<>6F_\
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
MU[[\.IC):@$]!7CXV/4]C"RZ'H-%%%>8=P4444 %%%% !1110 4444 %%%%
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
MI*%P\8(]*DK.T>;SK16SVK1KQ&K.Q["=T%%%%(84444 %%%% !1110 4444
M%%%% !11368*,F@#$\17ZV^GRC.#BOG?Q'?/<7<F3_%7J?C[5_*+QJW6O%KR
M7S9V/J:]'"TKZG!B:EB 9ZU- ?GYI ORTT':U>O"'*CRW*[)I,>956X^]Q5C
M.1FH?+:608&:RJ3L;1C<=:6SSN !7::1H4C;25_2F^%M&::1=R=Z]?TWP\B6
MZ':.E>=5K6.ZE2,SP]HJJ5W+^E=<NE0C^$5):60@Q@5?KAG-MG9""2*(TZ,?
MPTOV",]JNT5%V59%!M-B/\-9NIZ/$T!PHKH:CFC\Q<549M.XI131XSK^AG#;
M5KS;4M-EMYCD'K7TM=Z,D^<J*\U\9>'Q"'*I7H4L1=V..=#2YY$^<@5.ARM+
M+;.DK!@1@TD7!(KT*<KZGGU8ZC"?FQ4H&5J+K+4H^]BM)ZD15F.M)S!=*0<<
MU[A\/]3\V(!CVKP>4[9017H_@#4O+D52W>O.Q-.Z.^A4L>\JVY<TM5;&82VR
M'/:K5>4ST4%>._$R!I+PXKV*O/?&=A]HG)QFKI.TB*BO$\,:R?>>*22R?'2N
M[.B'<?DI#HA/\%=\:IQRIZ'"FQ?R^E(+%]G2N[_L0XQLI5T0]-E:>V(=(X,6
M+[3Q2)8OSQ7?-H9'\%,_L0C^"I=42I'"K92;NE*+)]W2NZ&AG^Y1_8AS]RJ]
ML-4C@I+&3TJ+RFCZUZ')H9\HG97+ZK9?9V((Q6]&K=F%6G9&)FGYJ+/S4Y37
M98Y+6'L?EI%0LN!UI,Y;%6]/C\V[5/6IF[(N*NRLMFY;I3Y+)QCBNU31"2IV
M5+/HA^7Y*X)5=3K5/0XA;*0CD4@L7W=*[S^Q"(Q\E-&B'^Y4^V*C2.&^PONZ
M4/9/GI7=?V(<_<I#HA/\%#K%^R.%-D_I2M8N1TKN?[$/]RG+HA)^Y4>W#V5D
M<*M@X'2M7P?:.GB>$D=ZZD:'_L59T'1S#KD;[>AI3J7BPIT_>/:+;_CVC_W1
M4M,A&(4'M3Z\P](\@^,JYMEKQVV;Y0*]F^,(S;+7C$0V\UZN"V/,Q>Y-U?%(
M_P O%$?,F:6;EJ]:#U/-:&*<TC+BGJ,4I&:8EN, P,T$<9IW48H/3%-,=AJC
MC-+G-*!\M"KQ0V2"G-.#YXI@&W--!^:E<=A6/S8I1P*7;DYI331+%!P*;WHH
MH) G%-/(S2D9I3]VF6MAR)E,U&XP:GA/[NHY%R:8QF_BG*<TPKBE3K4,=AQ.
M3BFGCBEQ\V:#R<T"$Z&E;@4F,FE/(H%8=%P<TR;DTY3BD<9&:RGL;01V?@;_
M (_H?K7T+:_\>T?^Z*^>? __ "$(?K7T-:_\>L?^Z*\/%_$>OA=B:L7Q#_QY
MM]*VJQ?$/_'FWTKGI_$CHG\)\W^*3_Q.7'O66IXQ6GXI'_$Y8^]9@%?145>)
MXE?<#P:#Q2D9-(XXK9HYKCU/&:CDY.:>HXIKCBIV%U%3[F:3=S2*<(:A+X-'
M,:<MRRIS29^;%1+)BC?@YJ92'RDN?FQ0QYQ4/F?-FEWY.:+ARDOW32L>*B,F
M:-^1BM(RT)<=10<&IU7(S5:K"-\N*7,#0UFJ/;GFGL.:51Q5(+Z$>:>#D8I"
MF#0!CFGNA7T$*Y.* /+<&G=\T.-PK"K"Z-:<K,]-^'NJ["J;NM>UVS[X%;U%
M?-?@^X,%[&N>K5]&Z6V[3XCZBO#Q,;,]C#NZ+E%%%<IT!1110 4444 %%%%
M!1110 4444 %>8_$B?RU(SVKTVO(_BI)M?&:VH?&C.J_=/'[EMT['WH3D4UO
MFD-/48%?04]$>!7>H'K24IY-+BNBVA@B,_*:E!P*B;DT[/%9V-'L*_K35;!I
MS?=J,#-:I:"2'2_,A-=[\-=1^SRA,]37!N,1D5O>#Y3%?1C/5J\S%1NCNP[L
MSZ9M'\RV1O45-5+2CNTZ(_[-7:\1[GL+8****0PHHHH **** "BBB@ HHHH
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
M;J6.[4+G&:\C$GHT-SZ/C?>@8=Z?5336+6,9/4BK=<!W!1110 4444 %%%%
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
MSS7O?@G2OL5NI*XR*\;$O4]/#HZZUC\JW5/05-117$=@4444 %%%% !1110
M4444 %%%% !7*>,+OR=-F&>U=77F?Q#O?*BDCSU%;4(WG8SJNT3Q'4)?/OI#
M_M4@X45 3FYD/J:ESQBO=@K(\:L]2.5N*Z;P9:^9JD9QWKEI>*]&\ 6>Z>.3
M%9U9V3%25V=%XLT\"S)Q_#7D3ILGD'O7O?BN#.G,<?PUX/>G;=2?6C#SO$JJ
MK,K,.::R[1NIR'<:=(,KBMIZD(ZOP'<_\3F)<]Z^CH#F!/H*^7O!\WD:[%SW
MKZ6TJX\^U0Y_A%>+BU[QZN&E[MB_1117(=04444 %%%% !1110 4444 %%%%
M &-XANOLMDSYQQ7SOXINOM>J,<YYKW/Q[+Y6D,<]J^>;U_,NBWO7H8.%U<X\
M3*VA3;Y#M]:>HVBDD7<X-&>*]6&AYDM6,EXKI?!NG_;;]5(SS7-R?-M'O7IO
MPXL,7B2$5RXFI:)T8>%V>F:-HXM ORXKI@, "D50%'%.KQI2;9ZR5D%%%%2,
M**** "BBB@ HHHH **** "L[5K87%NPQVK1IDB[HV'M33LQ-71\Y^,=.\J]D
M.WO7)'Y82*]A\=:5\LDNVO([B/:Q6O8PL[H\S$0L58#Q4DG2F8V4N[=77)W.
M1:,L:;+]GNT.>K"OI7P?,)=$B.>U?, ;$R'T->]^ -5#V,4&[H*\O%K0]+#O
M4]&HH'2BO/.T**** "BBB@ HHHH **** "O#_BJF=0S[U[A7A_Q4?&HX]ZZ<
M)_$.?%?PSS$CK3(Q\YJ;K4>,&O?B]#PVPD.1BM_P-QXAA^HKG6/-=%X'/_%0
MP_45S8E^ZSJPWQ'TW;_\>\?^Z*EJ*W_X]X_]T5+7@'M!1110 4444 %%%% !
M1110 4444 <WXFLA=(!C-<X-$7:/DKT"XMQ,.:K_ &!<=*N,K$2C<PCI$?\
M96W8,XK$311S\M=_]G'E;*@%@OI6D*MB)4[G$'1%_N4G]BC^[7<_8%]*3[ O
MI5.L1[$XDZ*N/N4W^Q1_=_2NY^PKZ4GV!?2E[8;HG$#15_N5M:=I$:VS@H.E
M;WV!?2IHX BD"G*M=6"-*SN>4>)M+6/S"%KRC45V7+#WKW_QA:JMNQQVKP/5
MQB^<>]>AA9\QPXB'*5DZ4A^]3D^[36KTX[' ]&#<TV@<BG+UK7H),"/EJ2W^
M^!3:6$_OQ7/4=D:4U=GIOA331/;AMN:ZB315('RTOP]M%ETP,1VKMC8KZ5XM
M2O:5CU8T+HXB+15[I36T1=_W*[D6*CM2?8%]*Q]L7[ X?^Q1_=IK:*-WW:[K
M[ OI1]@7TI^W*5$X?^Q1_=HDT48^[7<?8%]*#8*>U)5P5$Y;1]&1)\LE0:KH
MJM=DA*[2&T6)L@4V6S61\D5'M/>N:1A96,OP_IR00_=YKH0,#%0P0B)<"IJS
MD[LM!6+XB_X\V^E;58OB+_CS;Z4Z?Q(4_A/G#Q3_ ,AA_K62*U_%/_(7?ZUE
M#[M?04?A/%K+4:_-$?6G#FA.#75$Y6A9!Q4<8^<"I320C]\*QK/0NEN>S?#G
MBS7->GJ/E6O,?A_Q;+BO4(Q\BUX6(?O'K4%=#QTHI:*YCK$I.].- H!H:101
MQ3J2@5B%HPU<]KNG++ WR\UTV*KW$ D0@UI"=F93A='SYXFTHPNS;>E<<IP6
M%>V>,]*'V>1@M>*S(8[EP?6O4H3NCSJL1%7FGTO&!BF,>*]"".22LQW:E'2F
MJ>*4GBM$[,@CD/RFMOP=<&&_&#_%6$_0UH>'G\N^3_>%<&*C=';AWK8^G]#?
M?ID;>U:58_AIMVC0GVK8KPI;GLK8****0PHHHH **** "BBB@ HHHH YKQ==
M!-(F3/:OFN_.Z]E/^T:]S\>7ACCDCSUKPN[YN&/J:]3!0ZGFXR1!VIR\&G./
ME%(>%KUXK0\UBL.]1PC=<J/>IC_J<TW3UWWJ#WJ9ST+IJYZWX.M<Z<_'\-<7
MXRB\J=_K7IG@^VQIK<?PUP'Q"A,;L<=ZX83O4:-90TN<0O*5(G3%16_*U*O^
MLQ7=3U1SR0O>HIOO U+)PXIDG45,UH5#1GI7PONO*NL$]Z]QB?S(PPKYT\%7
M)ANEP>]?0&DOYEBC'TKP<1&TKGM8>?-$O4445S'0%%%% !1110 4444 %%%%
M '+^.O\ D 2_2OFRZ_X^6^M?2?CK_D R?0U\V7?^O?ZUZ."1Y^,W(SS01Q2I
MTIU>U#8\F6Y%3UZ4G\5.K61+%[4(,4W/S5-QMH\RDM")SFDZC%(.6-.'6N:I
ML:TW9G3^"[PP:Q&">,U]%:?<BXMU(/:OEO1[@P:DK ]Z^B/!MT;G3P2<\5XV
M*A;4]7#3OH=11117"=@4444 %%%% !37^XWTIU(_W#]* /G'XBC_ (J!S[FN
M-[UVWQ& _MQS[FN*3D5[N%7N(\+%+WV.*Y%"=:EC *FHQ]XUZ,6<MM"1_N5%
M%_K!4F<TV+_7BL*ST-J.C/?/AA_R"OPKT"N!^&7_ ""OPKOJ^<J_&SWJ?PH*
M***S+"BBB@#Q_P"+,A6117DCC<,UZG\7FQ*M>5QG(KV<&KP/,Q7Q#$&&J>0_
MNL4P\&@G/%=\=#SFPA'[HYI8FPK"DZ+BHD)\P#U-.;T'#<ZCP98-<:CG&1NK
MZ%T6V$-B@QT%>3_#:P#W 8BO9XD$<84=J\'%3O*Q[6'A97)****Y#I"BBB@
MHHHH **** "BBB@#/U.V6:W8$5X=XVTDK=,P7C->_2+O7%>?^,M*$D4CA:Z\
M+4L['-7A=7/!60HQ%"#FKVH0&&X8$8YJIP!7LJ5XGE5%9D3?*V:L01^<0!4$
MPRO%;GAW3Y)YU.W(K.I.R-*4;G4^#]$)GC=E[U[=8VZP6Z #'%<QX7TA8H%8
MKSBNQ4;5 ]*\6O*\CU:4;(6BBBL34**** "BBB@ HHHH **** "BBB@ [5XM
M\4)RMX5S7LTCB-"37A'Q0N5DU+Y3WKIPOQF-=^Z>< ?.QIR]:51UH7[U>XGH
M>+/5C9$W8 KV'X>6>+6-B*\GMH_,F ]Z]W\"6H334.*XL1*R-**U-3Q+!OTR
M3C^&OGC6HC#>2?[U?36LP[]/D'M7SOXPM_)O6X_BK+"S-ZT# @&.34HY:F#
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
M*EKP#V0HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
M#WBU6O48_N#Z5Y=X _X]UKU%/N+]*\'$_$>QAU[HX4M%%<QU(****!B4M%%
M!1110 AKD_%G_'G+]*ZPUROBL?Z'+]*WH?&<]?X3YXU,XOYOK6;CY\UH:MQ?
MR_[U4L9%?04%H>-/<F3[M,;[]/0\8IC??KH9D+(.*ACYE7ZU.3E:A@'[\?6L
M*A<-SV+X= ^:E>OCH*\D^'@_>)7K@Z5X&*_B'N8?X HHHKF-PHHHH **** "
MBBB@ /2O/_B%J 7298L\X-=^WW3]*\5^(]XP>2//'-;4(WFC*M*T3R1B6F8^
M]3J?EQ4,8R2?>I:^BIJR/#F[L?;C#$TDGWB:>#M%-?D53T,T]0MANG KVWP!
M;8LU..U>+::NZ]4>]>_^!K?;IPX[5YF+GH=^'5SLHONBJVI+NMG_ -TU;B'%
M17:YA?Z5YB=I'?)>Z?.OC&#;J$IQWKEQ]RN\\<0;;F1L=ZX0?=KVZ#T/*KJS
M$0<4Y>*!UIKG!KK3T.=#)5[UW'PYNO)U1<GO7%/RM;?@^X,.ICGO7+B5=6.N
M@]3Z;M9?-A#"IZRM!E\VP5O:M6O!DK.Q[$7=!1114C"BBB@ HHHH **** .8
M\<_\@&3Z&OFVZ'^D.?>OI'QU_P @&3Z5\X7/^N?ZFO1P.YY^,(#S2]:1:5>M
M>Y$\I@?NXI!Q2YYH-.;L2T&TDYI#R:N00^9$2!5:2,QMS6?,5;08_04B\"E?
MD4'[M4"';?XJ8XW"K( ^S^]0#[I!J9ZH<'J;7ABZ-O>1\X^:OH?0;P3V40SG
MBOF73Y#%=(1ZU[OX%OO/C1<]!7C8JGU/2PT];'?BBBBO./2"BBB@ I'^X?I2
MTC?=/TH ^??B(/\ B<.?<UP8Y:N^^(W_ "%9/K7!1]Z]S"OW4>+B5[[%-!YI
MQZ4Q#S7HHXQ3]W%$/^L%(>M/A_UHK*LO=-Z2U/>_A@,:5^%>@5P/PS_Y!?X5
MWU?.5OC9[E/X4%%%%9%A5'5O^/"3Z5>JEJG_ !XR?2FMQ/8^=?'*?Z8W^]7*
MH.!78^.%Q=-]:Y&,5[6%>AX^(W%/3%'\.*3^*@GFO2BSC: #BE3Y'!-*.M)-
MQR*FJ[H5-ZGJ?PYOPEP 37LT+^9&&KYO\%ZA]GNQD]Z]]T6^6>U3!YQ7S^)A
M9W/<PT[JQKT445R'4%%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !7-^+YO)TUFSCBNDKB/B!=!-*8 ]JNFKR1
MG4=HL\*UUS/>LV>]9 &'%:5RXD<DU188>OH*2LCQ)OWATW*5:\.VQFOEX_BJ
MHW(Q73^"+3S;X$CO45G9&],]V\,1>7I40QVK? XK-T>/R[)%]JTQTKPZCU/2
MI+0.U5+U-UK(/:KE0W S P]JF+U+DM#Y^\<VVR>1L=ZX$)@UZS\0+3ACBO+W
M4 XKV:+NCRJRU&J,"H7_ -<#4_1*BQDYK>K&Z,(O4]>^&%Z(UVDU[#&V^,-Z
MU\]^!+TPSJN>IKWW3WWV<;>HKQL1"S/7P[O M4445S'0%%%% !1110 4444
M5K\XLI3_ +-?.OC=C)>2CWKZ)U'_ (\)O]VOG#Q5(#J4P/K7;@U>1RXGX3F8
M1@8I\AR,4B_>HZO7M11Y$MQJH<5Z]\)(!AB17E"XW 5['\*DVH:X,:_=.["K
MWCU0#'%+117CGIA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !7AWQ6_P"0A^->XUX=\5C_ *?^
M-=&%_B&&(5X'ER\L:D-,AZFGCK7OPV/$FM1'^YBMKP1_R,D/UK$;K6YX)'_%
M20_6N?$_ SHPWQ'T_;?\>T?^Z*EJ*V_X]H_]T5+7@'M!1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110!R?C$?Z(WTKYZUC_ )"$GUKZ
M$\9'%HWTKY[UC_D(2?6O3P1YV*W*(/:E)P<4JKWI&'->O#<\R8$TAHZT=:T,
MP(^7-/MO]<#28R,4Z 8F%<U78Z*.Y]!?#<YTD?2NYKA?AM_R"1]*[JOG:GQL
M]VG\*"BBBH+"BBB@ HHHH **** "BBB@ K%\1?\ 'DWTK:K%\1?\>3?2KI_$
MB9_"?.'BG_D,-]:R0>U:WBD?\3=OK64!QFOH*.QXE;<1Z <4[[U,/6NI'./)
M^6D@_P!:*!SQ3H!^_ K"J]#2FM3VCX?<VRUZC']P?2O+_ '%LHKU"/[@^E>'
MB=SV*&P^BBBN4Z0HHHH *0TM(: 8F:44VG"F2F!KF/%&#92_2NG/2N/\73;+
M60>U;8?XS'$?"?/FK_\ (0F_WJJH,U:U7F^E/O51#BOH:+T/%GN)G$F*>_6F
M 9DS3GZUN0-W<41#]ZI]Z&&*=#_K%^M8U=BH;GL?P\^^E>MCI7D?P\_UB5ZX
M.E?/XKXSW,/\ 4445S&X4444 %%%% !1110 C_<;Z5X%\1Y?]/D7ZU[Y)Q&W
MTKYT^(DV[7)$SW-=6%5YG/B7:!Q,(^4U(HI$&WBG=*^@@M#PY;C2:<O-&W-(
M?E%.>PD7=%3=JBCWKZ)\'Q;-/ QVKP/PS#YFIH<=Z^B/#D?EV:CVKQ<4]#U<
M*C: Q4<XS$WTJ6FR#*'Z5P+<[&M#Q7Q_!M\QL5YAT4U[%\0(,P.<5X\XPY6O
M:P[T1Y-=:D8:D)R:5A@TJKFN[H<HX<K5G0)?+U,?6JOW:DLOW5R']ZPK*Z-Z
M+LSZ:\)/YFE(?:N@KE/ DOF:&ASVKJZ^?J?$SVX?"@HHHJ"@HHHH **** "B
MBB@#F/'/_(!D^AKYMNC_ *0P]S7TEXY_Y ,GTKYLNO\ CY;ZUZ.!W.#&$;<8
MI3P*&&:.O%>W$\EC2:"?DS1CG%*P^7%$P-[18/.@Q577+8VS#C%:_A5-\J)Z
MFKGCK3OLZQG'45R2J)2L;QIW5SAT.12]\5&#MJ3MFNA/0R:U)5;C;4,IVR8I
MZGC--(WOFG+X28[CU.Q@U>L?#"^WW&TGI7D[#Y:[/X>7WV:^Z]ZX,3"\6=F&
ME:9]#@Y&12U5L)?.M5?UJU7BM6/904444@"D?[A^E+2-]P_2@#Y[^(Q/]KR?
M6N#0\UZ#\1T_XF<C?6O/HAG->WAOA1XV)7O,>YIBG!J4KFD"5Z<3B$/3-+#_
M *P4['%)$/WHK"M\)M1W/?/A@<Z5^%>@5P'PQ&-*_"N_KYRM\;/=I_"@HHHK
M,L*J:B,V;CVJW45PF^%E]::!GSQX_0I=GCO7&]%%>D?$VS\J?..]>;9[5[.%
MU2/(Q*]X3-!I2.*D5,K7IHX]QBFG-\RFFGY6Q3_X:F;(2LQVF79MKD$''->V
M>"=8\X(K-7A"C$F?>NX\+:N;65?FQ7EUZ?,CTL/.Q]$HX<9%/K'T&\%W8J^>
MU:^X>M>3)6=CTXNZ%HHHI#"BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** &N<(3[5Y1\0[[_ $=TSTKU:;B%_I7A/Q#N
MOWLB9[UT8=7D<^)=HGG?FEGI']:9"-W-6A'E,U[U/X3QG\150Y;%>D?#ZTW7
M0..]>=(O[\#WKU[X=6W[Q3BN7%2LCKI*[/5;1-D*BK0J.,84"I:\63U/3@M
MIC\H13Z8W2DAR/,_'MKFW8X[5XK<C;=,OO7O_C:'=:-QVKP74T\N];ZUZN&>
MAY5<J.><4 ?+2XW<TO1<5Z#5T<BW-KPS<&&^C&?XJ^D=$D#Z9"<]J^8='?9>
MQG_:KZ&\)WGG6<29Z"O(Q<7<];"RT.JHHHK@.P**** "BBB@ HHHH I:HX73
MYLG^&OF7Q9+_ ,32;']ZOH7Q/>?9[.09ZK7SAK[^=J,I]Z]#!*SN<>)DK6,]
M#E,U,!QFH8AQBI>G%>TMCRGN-1R;E5]Z]Q^&$96'..U>'6R;M2C7U-?0G@&V
M\FU4XZBO*QKT/0PFYW5%%%>4>B%%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %>&?%<_P#$Q_&O
M<Z\-^*RYU'/O71A?XAC7^ \P7@T\\"D49-+UXKWX;'ASW CY<UN^"!_Q4</U
MK!)XQ6[X)/\ Q4D/U%<V(^!F^'^)'T[;_P#'M'_NBI:BMO\ CVC_ -T5+7@G
MMA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!R7C,9
MM&^E?/.KG_B8R#WKZ(\9?\>;?[M?.NK?\A.3ZUZ>"/.Q>Y #QBD:FK]ZE;[U
M>O \N8@XH'!H-!K4@>#BG0',XJ,_=IUO_K1]:Y*WPLZ*.Y]!?#;_ )!(^E=U
M7"_#;_D$CZ5W5?/5/B9[M/X4%%%%06%%%% !1110 4444 %%%% !6+XB_P"/
M-OI6U6+XB_X\F^E7#XD3/X3YQ\4_\A=OK64#\N*U/%/_ "&&^M9(ZBO?H_"C
MQ:VXY>*:U*U#<BNM['-<:AP:D@;]^#41!Q3X ?,%<]38U@]3VCP"_P"X6O4X
MS\B_2O)_ &?(6O5HON+]*\/$;GJX=Z$M%%%<QUA1110 4AI:0T Q*!12]J9(
M'I7 ^.9=D+\]J[PG KS3XA7 5&&>U;X=>^88A^Z>+7S;[N3ZU6 YQ4DC9N7)
M]::/O5[]/1'C3>H#@TA/S4I'-( =U;$L<PR*;$<2K]:D(XJ%>9T _O5A4>A=
M/5GM'P]3YHS7K(Z5YIX M2MM$Y':O2QTKP<2[S/:H? %%%%<YN%%%% !1110
M 444AH8%/4KD6]NS$XXKYN\:S^?K[MG/->]>+IS!IS$''%?.>N2F;5&8^M=V
M#CK<XL7+2Q2/!IK'FG-4?>O=@>.R53D5'*:<O%1OUJ:FPXK4ZSP9%OU"/CO7
MT%I,>RW4>U>%>!(=VH1GWKWZS3;"OTKPL0]3UL.M"U3'^Z:?36Z5R(ZV>=>/
M(<V;'%>&W/RW)^M?07C:#?8-]*\ U-=EZ1[UZ^%EH>;B$0-\QIZ# IJ=*<>*
M]/H>?<9)UIRG&WZTU^:,X K"IL:4WJ>^?#R^']E1QYKT$<BO&OA[>',:9]*]
MD3[B_2O K*TCW*+O$=11161J%%%% !1110 4444 <OXY_P"0#)]*^;;H_P"D
ML/>OI/QS_P @&3Z&OFJ[_P"/MOK7I8'<X,6!.!3$/-+)T%-7K7MP/):U'9^;
M-*QXS330WW*530?4[#P7\U_%]:['XA6/FVL; =%%<=X'_P"/^+ZUZIXILOM&
MF*<=$KR,1*U5,]+#QO39\\W"[)2OH:>OS(!5C5X3!>2 ^M00#O7H0E=''5C8
M0\#%21K\F:9)]^ITQY1K5F*(&;@BM7PY<FVO%.<?-6,<DFIK>0Q3(1ZUS55=
M'11W/IKPS>>?I\?.>*Z&O.? FH>;;1)FO1NU>'6CRR/8IN\0HHHK(T"D;[I^
ME+2-]T_2@#P;XC_\?\GXUYQ"<9KTCXC#_B82?C7FT?WC7MX76*/'Q7Q,GS2D
MX%1L>12L<@5ZBV.$=FB(_O@:;_#21?ZP5SUOA-J.Y[_\,CG2_P *[^O/OA?_
M ,@K\*]!KYRK\;/=I_"@HHHK,L*.M%% 'D/Q5B!8$"O'3Q(17M_Q-@,BYQTK
MQ*5<3L/>O9P3]T\K%?$QQ^[3D;"TA'R5'D]*]3H<*"0Y?-.SD4T@]:%Z5FU<
M3&$<U:L[DQ2C![U7QUI@RKYK&4+FT)6/;/"WB58-.5"_ZUUEMXB67^.OGRSU
M26$!0W%=5I6MN,9:O-JX?6YZ-.MI8]VL+L7 R#5ZN#\-ZXGE_,U=*NLQ'N/S
MKBE3:9U1FFC7HJG;WJ3' -7*AJQ84444@"BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@".XXMY/]TU\Y>/KC?J<R9[U]!ZG<K;VLA8
M_P )KYH\87'G:W,0>,UUX1>\<>+=HF)!PE6E<!#59!B.C<=M>Y#2)Y2=V/A^
M:[0>]>Y^ ;;RXT;'45XCID1FOH\?WJ^AO"%MY5E$<=J\_%O0[Z*U.M'6I*C%
M/%>2SO@+3&I]-H0Y'->)[;S[1N.U?/OB*+RM0D7T-?3&HPB2W?(_A-?._C&W
M*:K+QWKT,++H>=7B<[%]RFOQ2QG"TC\FO86J.#9DUB^RX3ZU[GX#GWH@SVKP
M2-BLRGWKVCX;7(D=5S7FXQ:'H866MCU>BBBO(/2"BBB@ HHHH **** .%\=R
ME+=@#VKP+4#F\D/O7NGQ"?;$?I7A5Y\UT_UKT\)L>;BMR!.#FG?Q9I,<4X?=
MKUEHCSNI+IZ[M5B/O7T5X-(^QIC^[7SUI*;M0C^M?0W@^)H[1,_W:\G&GJ81
M'64445YAWA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !7A_P 5?^/_ /&O<*\.^*W_ "$/QKHP
MO\0PQ'P'F*G!-+T-,'+4]AQ7T$-CQ)[C6]:W/!'/B2'ZBL1_]76YX&_Y&*'Z
MBN3$OW6=&'^)'T];?\>T?^Z*EJ*W_P"/>/\ W14M>$>T%%%% !1110 4444
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
MQSU1Z^$6A:HHHK@.P**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH *\/^*W_ !__ (U[A7AWQ6_X
M_P#\:Z,+_$,,1\!YA%RQJ0BHD^5C4A/%>_$\2IN,;TK<\$\>)(?J*PSTS6]X
M)'_%20_6N;$_ S?#/WCZ=MO^/:/_ '14M16W_'M'_NBI:\$]L**** "BBB@
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
MU.;I7OQV/$GN(?6M_P $_P#(QP_45@_PUO>"3_Q4</U%<V)^!F^&^(^G+?\
MX]X_]T5+45O_ ,>T?^Z*EKP3VPHHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH Y+QG_ ,>C?2OGK5_^0A)]:^A?&?\ QZ-]*^>-6/\
MQ,9/K7J8+8\_%;D"_=H/2F*>U*QYQ7L1/*EN"]#3>]+TI#Q5DW!1EJEAXF%,
MZ#-+"?WHKFK[&]'<^@OAM_R"1]*[JN#^&G_()'TKO*^<J?$SW:?PH****@L*
M*** "BBB@ HHHH **** "L3Q'_QY-]*VZQ?$7_'DWTJZ?Q(B?PL^</% _P")
MNWUK*'2M7Q1_R%W^M9(-?047[IXM;<>G2DSS2]*:W KK6QSRV$!YIW6F@4IZ
M5+(ZAYA0\4QY22*1N>::!D5FX'1!V)O..*/..*A49-. YK"4-2W.P_SCBD\P
MFFD<T <TX1U$YDBL<4@&3S0>*#Q5\I',"CYJ7'S4=!FE[9K2*)<AP44D@]*5
M3Q3B,BM24,BZT2T+P34>[<^*!LL*H\G-5V/:K*GY<52?/VD*.]<E:>AO2C<Z
MWPCIYN;J,XSS7T)H]J(+*/ [5Y9\.-+\Q5<K7L4*;(E7T%>+B)W=CU:,+*Y)
M1117,= 4444 %%%% !1110 5YI\4Y?+LQ]*]+KRKXM2#[(,&MJ'QHSJ_"SQ6
M;YY":>GW:C/(IXX6OH:1X57<&'S4C<4HY&:8QK:6QFA^,LOUKU+X?VX\Y&Q7
MEL/S2J/>O8O ,6"AQ7DXF1UT%J>JP#$8J0GFF)PHH)^:O*>K/6B]"2DI>U-I
M%,6L#Q1$)-,<>U;QK)U]=VGL/:KAN93V/FGQ%'Y6HD#UJF,!*V?%T6W42<=Z
MP0W%>[AGH>166HAY-2IQ3%&32@_-BNR1SBR=*ZCP7/MU.%<]ZY=_NUL>$IMN
MMP#_ &JXL2KQ.G#/WCZ>LS_HD7^Z*GJI8,&LH?\ =%6Z\!GN(****0PHHHH
M**** .7\=?\ (!E^E?-EU_KW^M?2GCG_ ) ,GTKYIO3BY8>]>A@=S@Q8B\BA
M1S3%.*>>*]R.QY+W'CK4<WW:=GC-))S'FE(JF;G@[_D,0_6OIJQ_X\HO]T5\
MT>#1_P 3:'ZU]+V/_'E%_NBO"QOQGLX7X2Q5>[@$\14^E6*1ONFN$ZCYW^(%
MEY.HR,!7$6YW UZU\1[')DDQZUY);_*6!]:]K!O0\?$1]YE@@8J(=:65L$4$
M?*#7HK<Y1C=:E/RPYI-N122G]R165570)ZG;^ ]2:*XC3/!->^V4HDMD(/:O
MF/PK<>5>1\]Z^A_#EUY]JG.>*\7$PUN>KA9:6-ZD/W32TA^Z:XSM/&_B,O\
MK#]:\CAZ-]:]?^(HXDKR&,8W?6O=P[]Q'CXGXAR]Z5>M,!P:>>!FN^&QQ/<!
M]ZG1?ZX5'GO3HC^\!K'$+0VI;GO_ ,,O^05^%=]7G_PP.=*_"O0*^=J_&SW*
M?PH****S+"BBB@ HHHH K7EL+B(J:\I\7:'AW*+7K]8.JZ4+O=E<YK2G+E9G
M4AS(^8M4M)()SE>]0VS=C7HGC30?L\C%4KSC8T4C#'>O8HU=+GE5:=G8MR@;
M>*@ZTP2EN#4L0R:Z5.[,+60[&$I$Z4Z3CBFK]VMD9RV'9S1Q46[FAF(JD2D3
M#%+WJ$-Q4J\KF@=M!C'YJ=VIK#O0#0(7 I'Z4@/- Y:DE<!<?)3D'R&F^U&<
M<4FBTR,]:DM9/*?(ICC%(M<\X7-(3U.OT'7)$N%0L<9KW'PUJ"SV2Y;)KYKM
M9?(</7K7@C6=YCC+5YV)IZ'HX>>IZW13(V#("/2GUYIW!1110 4444 %%%%
M!1110!6OGV6KMZ"O!OB'=^;.1GO7N>L-LTZ4^U?.?C&X\V[<9Z-7=@XW9QXJ
M5D<Y'UI6Y.*9%4B<O7LP5D>5>[$B&7VUZ]\/K,&%6(KR*WYOU3WKW7P%;[;-
M3CM7'BI:'91CJ>A0C$:CVJ6HT^Z*DKQ7N>G'8****104AI:;WIB8H%(PXIU(
M:0/8X7Q[:AM)E?'.*^>V!2=@?6OI7QE%YFD2#':OG'4H_)O6'^U7JX-Z'F8E
M:C<?+4:]:<3P*,8&:]*7PG%'<TM(E\NZ'UKZ&\&OOTE3[5\U64VRY'UKZ+\!
M2A]%7GM7D8M:'JX9G74445YYV!1110 4444 >,_&#[ZUY-'TKUCXP_?6O)5/
M%>U@O@/)QGQ$C],TA_U5*WW*:W^IKMJ'' ZWP/\ \?L7UKZ*LO\ CSC_ -VO
MG;P(,WD9]Z^BK/\ X](_]VO$QGQ'KX3X2>BBBN,ZPHHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M KP_XJ_\?_XU[A7A_P 5?^0A^-=&%_B&&(^ \Q3J:!UIH.#2GCFO?CL>)+<1
MNM;G@D_\5)#]:Q''R9K:\$<^)(?K7/B%[C.C#+WCZ@MO^/:/_=%2U%;?\>T?
M^Z*EKP#V@HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH Y+QG_QZ-]*^>=7'_$PD/O7T+XT_P"/1OI7SYJY_P!/D^M>I@=C@Q134=Z"
M.<TY3Q1FO8B>3(:1FF]:?GBF#K5HCH.Z\4Z$?O@*8O!S4D',XKFK['30W/?_
M (:C&DCZ5W=<-\-_^02/I7<U\Y4^)GNP^$****@H**** "BBB@ HHHH ****
M "L3Q%_QY-]*VZQ/$?\ QY-]*N'Q(B?PL^<?%'_(7?ZUD@=ZUO%'_(7;ZUE#
M[M>_0^$\6MN*.:#\W%(O H4\UV+8YA<=J,=J#2CK18CJ1D8XH44]AS3:=KHU
M3$VX-+C'-./(I#TQ6,D%[C2.]*HXS2]L4O08HB@N)UH(S0O%+3DK$W$ZC%+V
MQ2#K2]\U41@..*5GQ2'K4<O)I@D/4TFW#9H6G/\ =K.4K%V&^9AJN:99F\U&
M,8SDUFJ"TF*]!\%:,9KN*4KD UY]>>AV8>!ZGX,TO[#:KE<9%=C56S@6&WC
M&,"K5>1)W=SU(JR"BD- J2A:*** "BBB@ HHHH CG?9"S>@KQ/XD7_VH,F>E
M>S:B=MA*?]FOG?Q=<F2\E4GO75A8WE<PKNT3CP<MBI2/EJ%?];4[?=KW:>QX
ME1WD"?=IA6GH?EI,YK6;T(ZCK5/WZ?6O=/ ]KMMXWQ7B5@N^Y0?[0KZ#\'0A
M=.B..U>/BCNPZU.M XI-N6IU**\VYZB0M%!HI%#:HZG'YEJRU?J"Y&8S51W,
MY;'SSXZMO+U \=ZX\+7HOQ#AQ?$X[UYZO)->[A=CQZ^XBC%(1@YI],D/%=;.
M84\K5G0I?)UF%O1JJJ>,4MIE-0C;T-<U=7B=%#25SZ>\-WGVFSCYSA:WZX3X
M?W!FM5R<X%=W7@5%:5CVX.ZN%%%%06%%%% !1110!R_CHXT&3Z&OFJ[^:X8^
M]?2GCO\ Y $OT-?-EP/W[_6O1P)PXLC44_KQ31P*<O!KVH'D,,<8I&^[BG=Z
M3OFE,=,Z'P>-NK0_6OI2Q_X\HO\ =%?-GA/_ )"\'UKZ3L?^/*+_ '17AXWX
MCV<)\)8H/2BBN$ZS@O'&G>=8R-BO KV+[+<E>G-?4>O6HN+!UQGBOG+QC9FU
MU,C&.:]+!SZ'!B86U,4C?@T]^% I(ONTDC5[">ESS&.!^6DD7,= /RT\G,53
M/4A;AI<_D72\]Z]^\ 7GVBW'/05\[KE90PKV3X8ZAM3:37F8J'NGI866IZ_2
M'H:2-MZ ^M*>AKRCTSR/XB)\DAKQY.K?6O8_B(X\N05XY'U;ZU[>&?NH\?$K
MWF)MYI>O%+FD7@UZ$#B$QS3HO]:!0.N:(_\ 7BLJ[T-:6Y[[\,1C2OPKT"N
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
M8%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %>'?%;_ )"'XU[C7A_Q5_X__P :Z,+_ !##$? >
M7#AJ>W2D498TXBO>BSQ)[@?N5N>"/^1CA^M8)/:MSP2?^*DA^M88GX&;X?XD
M?3UO_P >T?\ NBI:BMO^/:/_ '14M> >V%%%% !1110 4444 %%%% !1110
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
M_P!T5\Q^%VVZS /]JOIO3O\ D'P_[HKQ<;\1[.$^$M4445PG6%%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %>'_%7_ )"'XU[A7AWQ6_Y"'XUT87^(88CX#S!3AC3R<5&O+4]A
MQ7O11XD]Q&'RYK:\$<^)(?K6*Q^3%;7@?_D9(?K6.(^!G1AOB/J"V_X]H_\
M=%2U%;?\>T?^Z*EKY\]H**** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** .1\:?\ 'HWTKY[U?_D(2?6OH3QI_P >C?2OGG5C_P 3&3ZU
MZ>!//Q1 O2CM3%/-*QYKV8'E2%[4P=:4FD/%7L1T'BGVW_'P/K49/RTZV/[X
M5RUMF=%#<^A/AS_R"A]*[>N&^&YSI(^E=S7SM3XF>[3^%!1114%A1110 444
M4 %%%% !1110 5B^(O\ CR;Z5M5B^(O^/)OI5P^)$S^$^<?%/_(7;ZUD_P -
M:OBG_D,-]:R1UKZ"C\*/$KZL5!@&A.IH;BD3K78MCF9)WHIK&C/RU+T0D-8\
MTUFYI&R1FH@236$I:FO+H6@>*:QIJ9I#DFI<P4;LDS\E(/NTSGI2\YIQD.4=
M!Z4\5'T-.8X%;Q=S)H4T4G:D)XJY$=1?XJ<H'F+]:8.F:1&_>K]:QJ:(VCJ>
MM_#NQCG<;A7J]M81P'*BO,?AFXWCFO6@<BO Q3?M#V\,ER"T445RG0%%%% !
M1110 4444 %%%% !112$X&30!Y%\5)=D@%>1L<MFO2_BY<#[2H![UY>3\H->
MU@U[AY.+?O$F,U'_ !XJ1>E1G[]>C%:GGL7'S"E?G%*P^7-1*<M6KV")UWA&
MY%M-G..:] _MM1&/F_6O(K2[-MR#5TZV^,;C7!6A<Z82LCU1-=7;][]:/[=7
M^]^M>4?VZX.-QIXUU\_>-<SI6-G4/5/[<4#[WZTU==7/WOUKR]]<?'WC3%UQ
M\_>-2Z>@*H>IOKB@?>_6FIKRY^]^M>8RZV_E_>-5TUU\_>-$:>I7M-#TG6=4
M6:S<;NU>5WK!KAC[UJ2:NTMJP+&N>:0O(3[UW48V1R5'<D8XQ4O'EU6)S3MY
MQBNI[&(\GBH6IRG)H8?-4,:-OPU+Y>H0C_:KZ6T<YTN$_P"S7R[I,GE:G!_O
M5].>'Y5?2(,'^&O#QRU/8P;]TU:***X#M"BBB@ HHHH Y;QY_P @"3Z&OF^;
M_6O]:^D?'(SH,GT-?-MSQ<,/>O1P.YP8S8C7H:5>O--/%*>!7MQ9Y+'=Z8QY
MI2>*B<\9J9[! Z+PH?\ B=0?6OIBP_X\8?\ =%?,?A!LZU!_O5].6'_'C#_N
MBO!QGQ'LX/X2S1117&=@4R1!(A4]Z?10!XE\4[%8Y@RBO,XR.E>T?$VU,RE@
M,X%>(L6CN'4]C7KX27NH\O%1]X=G]Z:0_?IN?FS3STS7IQV//8C??!ID_(XI
M_P##FD0;P:51:%4]SI/!%X;>]'/\5?1.D2>;IR-ZBOF'1IOLUZAZ?,*^D?"\
MXET6(YYQ7C8R-CUL.[G(>/\ 'V62O#G'[QOK7MOQ ;_1Y/QKQ-N9&^M=N%C[
MJ./$/WK$D1^4U&OWS2@X%-[UZ"1QM#A]ZB/_ %XH/ S21?ZT&N>N]#2EJSZ
M^&7_ ""OPKOJ\_\ A@<Z5^%>@5\]5^-GNT_A04445F6%%%% !1110 4444 %
M%%% !1110 4444 %!Y%%% %.6QCD;)%5GT>%NJBM6BG=BLCS3Q-H:^>=B_I7
M!ZGH3YX7]*]UOM/6Y;)%9,_AU)/X!733K\J,)4KG@%WI$L()*_I6+/&T;<U[
MGXB\-K% 2J=J\HU;3'25@$/Y5Z-&MS(X*M+E=C%C;]WBG+TJ$HT<FT@U)G!K
MNC+0Y90T) *#1VICFM#$6/F2AQ^\IB'#9J7J<U#5V5<CDXKJO!UTT-W& >IK
ME9.M;?AJ39?19_O5QXB.AV8>1]+Z4V_3XF/<5=K.T1PVF0X/\-:->$]SV%L%
M%%%(84444 %<OXRN532)!GM73GI7F?Q!O_+M)$SZUK2C>1G5=HGBFJR^9>,1
M_>JOU%,=S+*Q]ZD4<5[])61XM26HY#6KH<?FWH'O6,&^:NB\)1&74AQWHK;#
MI[GO/A6$1Z:H]JZ)>E9.AQ^79**UJ\"I\3/4I[#Z2BD-9FPM.IHHH&F.HI!2
MTB@I#124Q7$/2LG6XA)I\H]JU35*_7?:NOJ*N&YSU=CYQ\40^1>/QU:L1""*
MZ_XA6Y@N<@=37$QMQ7NT=D>3+<E)PU56<B?-2N:@<'K6T]BH,];^'EX0J+FO
M:8#F%3[5\^> +G;/&I/>OH&T.;6,^U>'BE[QZN'=T34445R'0%%%% 'E?Q27
M*UXLV/.:O;/B>I*5X?(<3M]:];"?">9BMV/_ (J,?-3<TX=,UZ;^$\_J:?A]
ML:];C_:KZ@TS_D'0_P"Z*^6= ;&OV^?[U?4FE.&TZ#!_A%>)C?B/7P?PEVBB
MBN$[ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ KP_XK?\?WXU[A7AWQ6_Y"'XUT87^(88CX#S
M"'J:D-1+PU/8\5[R/$GN-:MWP2/^*DA^M8A'R9K=\$#_ (J.'ZUAB/A9OA_B
M1].6W_'M'_NBI:BM_P#CVC_W14M> >V%%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% '(^-/^/1OI7SUJP_XF$GUKZ&\9C-HWTKYYU<
M_P#$QD'O7IX(\_%%51WH(YH4\8I2:]>)Y<A,9I"*=G%(36AF(.>*? ,3"HUX
M.:E@YF%<U;8Z*.Y] ?#;_D$CZ5W5<+\-O^02/I7=5\[4^)GNT_A04445!844
M44 %%%% !1110 4444 %8GB/_CR;Z5MUB>)/^/)OI50^(B?PL^<_% _XFS'W
MK' XS6QXG/\ Q-6'O6/GC%?04/A1XE;<7[PIT:Y--7@4Y6VFNZ.QS,5ASBF-
MPM/W<YIA^8XJ*CT*IHF@@,B=*&M"IZ5TF@:4;F,?+G-= WA1FP?+_2O,K5>5
MG9&FY(\]^S%1TI4MB3TKT%_"C8_U?Z4L?A1A_P L_P!*Q5=&BHL\]>U([4PP
M';NQ7HLOA1B/]7^E4=0\--;:?)(4Q@>E7&LARHNQP:C.?:CJ::K8E=?0TJGY
MJ]&B[HX9JP[%(1Q2TAZ5T,Y^H=%IB?>S4@Y&*3;M!KGJ;&T#TGX<WVRYVY[U
M[=;/OA5O6OF_P7=_9[T<XRU?0^CR>;I\;>HKQ,6M;GLX5Z6+]%%%<1UA1110
M 4444 %%%% !1110 54U"7R;1W]!5NLO7SMTJ4^U-;B>QX3\0;S[;=GG.#7%
M*,C%;?B6?-Y("?XJQH>>:]_"Q]P\7$N\@SCBFCEZ1SAJ%/.:[8G,T2GIBHL;
M34N:8W)JWL0G85S\M1G.*<>11VQ7/:[+YAFTXS2J#C-/[8I.@Q4R@7S!RPI
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
MKQ+XB6)7<P%>XL,J17F_Q$T[S+8E5SQ71AY6F8UXWB>$8(.*0U:GB,=RRD5
M<>9BO?HO0\2HA4; Q2/Q36X<4K]!6LD9[$:C+5U7A.[,%Z.>]<P@K1TZ?R)P
M1ZUA4C<VA+4].U^3S])9_:O';O/VDX]:]4GN!-X;9B><5YA.NZ=C[T4QRD+'
MP*5Z:>,4_&174MCG>XT_=ID7^M%/[TD0_?BN6OL:TOB/??AA_P @K\*]!K@/
MAD/^)5^%=_7SU7XV>]3^%!1116984444 %%%% !1110 4444 %%%% !1110
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
M@HHHK,L**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"N5\760FTZ5L=JZJLS7D#Z7*/:J@[,F:NCY>U*'RKV0?[1JLW05L>)H?*O9/
M]ZL4G*BO>PTKH\2LM23.$J/=S2YRN*;MYKO.8?UYI4/[Q?K0!A::O#BN>ML;
M4=SV+X9R;I@*]<KQOX7'-S7LE?/5_C/;H_ %%%%8FH4AI::YPA/H*!,XSXAS
M"/1F.>U?.URV^Y+^]>T_$/41)9O"#TKQ9TY)KU<%'0\W%RU$!^<&I9GW 5$@
MS3GKUHGGO<:.: <'%*E(1@YJ9+00UOO4$\8I<=Z7;FH42T]"+.#2].:".:4C
M(H<"HR$]Z#R,T['RTN/EIJ"*YB,"E-/ XII%)PU)DQG4T['% 7!I^*.05]1G
M;%-/'%2[>]1L,M4J.H^85>*D#<TFWB@+S6BT,GN2$\5&7P*<QXQ41&:L21*J
M>8FZO1?AO>?9Y=N>IKS^'Y82*Z/PA<^5>H,]6KS\5&YVX>5F?2%J^^W5O45-
M5+2FW:?$?45=KQ7N>NM@HHHI#*FI#.GS#_9-?-GBB/R]4F/JU?2M_P V4O\
MNU\Z>-(]M]*?>NS".TCEQ/PG*;>=U2ALKBF?\LJ1#SBO;6QX\MQK?(VZO8_A
M)<^8C GI7CEQ]TUZ-\*KW[/(5)ZFN'&1O$[,*[2/>12U%;OYD2MZU+7C,]5!
M1110,**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ KP[XK?\ '_\ C7N->'_%7_D(?C71A?XAAB/@/+DX
M8U(QXI@&6IS#(KWEL>)/<"/ES6[X)'_%1P_6L(GY<5N>"3_Q4</UK#$? S?#
M_$CZ=MO^/:/_ '14M16W_'M'_NBI:\ ]L**** "BBB@ HHHH **** "BBB@
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
M71V4*EF>QT5#:R"2W5L]14U>4>B%%%% !1110 4444 %%%% !1110 5D^(9
MNDS<]JUJXCQIJ@M[:2/=U%73C>1$Y61X/XEEW:@_^]5 _P"K%3ZH?/NW;_:J
M''R 5]!0C9'BUY)L7/R48XS2#TH)P,5V'.AV?D-+81^;<K]:CS\I%6]('^FQ
MKZM7+7>AO36I[7X B*!>*](KD/"%EY-K&^.HKKZ^>JN\CVJ2M$****R9H5=0
M8+92G_9KYT\:W.Z]D&>]>]Z_<^392#/\-?.7B:7SK^7G^*N["1UN<>*EI8S%
M&8!3.@I4;]V%I&^[7LQT1Y$M6,!W-BO6?AC8>9\Q%>46R[IU'O7N?PR@\N'.
M.U<.,EIH=V$5Y'I$2;(POI3Z**\<]4**** "BBB@ HHHH **** "BBB@ HHH
MH *:XRI'M3J0T SRWXCZ8%L'FV]:\7484BOH;XBQ;]%;CM7SS,?+F*^]>Q@9
M>Z>7BX^\!'RU$HSFI"W%)&.#7H2V.'J7]%G\J\3G^(5](^%9 ^C1'/:OF&W?
MRKE#_M"OH/P/?>9IL29[5Y6.6AZ6$9W%%%%>8>@%1W S;R#_ &34E-D&8V'J
M* /G+QS:E=6E?'>N35?W>:]6^(NE^7%)/MZUY*DF1MKV<*[Q/*Q4=1R\FFS#
M(J0#:<4DWW:[+71QK1E[P]=_9[Q><?-7TEX8N!-I,9SU%?+-K)Y5RI]Z]]\"
M:MYMI%%N["O+Q<-#T\++4]%HI!TI:\X[@HHHH **** "BBB@ HHHH **** "
MD-+2&@&9.O7'V>R9\XXKYZ\57YN-3;G/->X^-YO)TECGM7SKJ<OG7I;/>N_"
MPNKG%B96T*[G%(#N%(W)IP&!7I6LCS7J5F8B0#WKU7X;VA%Y'+BO+_*W3)[F
MO>/A_IOEV44N.U<.)EH=V'CJ>D#[HI:!THKS#T0HHHH **** "BBB@ HHHH
M*\0^*I_T_P#&O;Z\0^*H_P!/_&NG"_Q##$_ >79^:G]!3 ,L:=UXKWXNYXDM
MQCGO6]X'&?$<)]Q6"PK?\$<>(X?K6&*^!F^'?O(^G;;_ (]H_P#=%2U%;_\
M'M'_ +HJ6OGCVPHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH Y'QI_QZ-]*^>M7YU"3ZU]#>-/^/1OI7SSJG_(2D^M>G@]CS\65EX&
M*7M3?XJ4U[$$>5(3/%(O%#=:0U=K,E,4]:2V'^D@^]':GVP_?"L<0M#HI/4^
M@_AO_P @D?2NYKA?AM_R"1]*[JOFJGQ,]RG\*"BBBH+"BBB@ HHHH **** "
MBBB@ K%\1?\ 'FWTK:K%\0_\>3?2KI_$B9_"?.7BH_\ $V<>]8R\"M?Q3_R&
M7^M9.*^DHOW3QJ[U'+TI%ZTE%=!S6!J(?]8*1^E.@^^*PK?";4UJ?0'PR_Y!
M/X5WU<#\,O\ D$_A7?5\W5^-GMT_A04445F6%%%% !3).8V'M3Z1N10#/(?'
M]AB-Y,5Y$YVOMKZ"\?V0?36('.*^?+M3'>E3ZUZF$J'F8J&HIH!H;I35Z5ZJ
MU/-M87-#<C%-'6E'6M$3U(Y5Q'74^![@KJ<*Y[US<JYCK1\*S^3K4.>FZN#%
M1NCNPSU/J6T.;2(_[(J>LW2;M;BRBVG/RBM*O":LSV$[A1112&%%%% !5:\F
M$,+$^E6:Q/$<QALF(]*J*N[";LCPGQ[=^;J[@'O7'1\&M;Q1.9=8;)[UE@<B
MOH,-&T4>+B'J2$\5%GFGOTI@'-=B.0FBZTV?KFG+P*;)TK.H[(J.K-WPA%NU
MB$^]?2]@H6RB_P!T5\\^"(-VH1-CO7T1:<6D?^[7@8M^\>SA%9,FS2TT=:=7
M(=2"BBB@84444 %%%% !1UHHH \S^*%N&L\@=J\-/RSE:^@?B)'OLC]*\ N%
M*W[CWKU<$]#S<7'6Y(S#;BH<8I-W[W%/<<U["V/.V!1\IIBCYC4O\-,C^]3D
MM">HZ ^7,#[U]!> +T-I*)GL*^?)>,$5Z[\/+P^5'&37CXR!Z6%=F>OCI12+
M]P?2EKR3TPHHHH Y?QU_R 9?I7S9=<3N/>OI3QQ_R 9/I7S5>_\ 'TWUKT\
M<.+&J<"ES3*4]*]E*YX\MP!^:E/K3!UJ7^"G):#CN:GAC_D/0?[U?3^G_P#'
MA#_NBOE_PQ_R'X/]ZOJ#3_\ CPA_W17@X[XD>UA/A+-%%%<!UA1110 4444
M%%%%+J!Y?\0]-,RR2XZ5X?(FV:0>AKZ=\662S:1,V.<5\WZA;F&\F!'\1KTL
M)/H>?BH6U*$6=]2MS21K\QH_CKV(,\R0?PXI5.!33]Z@\&M3.X[-%--#=*>Z
M)L./W:;!_KP:<?NTD(_>"N6M\)U4'J?0'PS.=+_"N^KS_P"&/_(*_"O0*^=J
M?$SW(?"%%%%065;^Y%M;F0G&*\1\<Z[Y]RRJ_>O5O&,Q@T61QUQ7S1K%_)/?
M-D_Q5U8:-W<YZ\K*Q%(Q>0D^M$G"T@Z TY^0*]>$3R9R(0ASFIE8=*D* 155
MR=]=*CH97N.?_6 BNF\.Z@;>=/FQ@US)J:WG:)@0>E85HW1M3EJ?2WAK5EO+
M=$#9(%=+7BWP]UO;/B1N/K7JT6K0R' 85X56FXRL>Q3FG$TZ*CCD$@R*DK$T
M3"BBB@84444 %%%% !1124"([B7RHBU>,?$#4]UPRAJ].U_44@M6&[G%>">+
M+\W%VW/>NS"PO*YRXF6ECG&DS(2?6G#I54D[JLJ?EKW::LCQYN[&]&I&YYIS
M"C'R5H]42B//%:>AIOU&'_>K+/2N@\+0&2^C..C5P8B6AUT5=GT9H$8728./
MX:U:H:.-NF0C_9J_7A2W/96P4444AG%^-KKR+=AGJ*^?]4D\R\D/O7LOQ,N?
M)7&>M>(3OOG8^]>MA(^[<\S%.S8U1S3W^[0J\9HD/RXKO:LCSMV3:4GFW\:^
MIKZ$\$V1MK53C&17@_AB R:Q#QQNKZ:T>V6&QBP/X17E8N?0]7!QTN:-%%%>
M>=X4444 %%%% !1110 4444 %%%% !1110 4444 <KXXC\S2F'M7SEJD1COB
M/>OIGQ1"9M/91Z5\\>([8Q7[9'>O3P4K(X,4M3$-/4X%,[TIX%>ONCS6,8_O
M5(]:]H^'=T66-,UXQCY@?>O3OAU=;;Q%)KS<9&Z.O"O4]R'2EID;AT!%/KQS
MU@HHHH X+XE6ZMHK$#G%?/80I,<^M?2OCJW-QI+*!GBOGK4K8V\Y!'.:]3!R
M]TX,3&\BJQRPI)/F%,7I4B#=7I(X)JQ5=2K ^]>D_#[4S'=(A:O/+A1MK9\*
MWAMK]23QFN7$0NCHHSLSZ?M9A-$&'I4]<[X<U%+BT7GG%=%VKQ9*SL>K%W04
M445(PHHHH **** "BBB@ HHHH *1CA2?2EJK?7"P0,6..*$!YY\1=746#Q!N
M17AKR;V+>]=IX]U1I[N6-6XS7"Q@F*O9PE.T3RL1.[+$:[AFG-3K8?NCFD]:
MZY:(YXEBP@^T7,8 _B%?1_@ZW$6B1#'.*\'\(V9N+\<=Z^B-"B\G3D3T%>1B
MF>CAE9FG1117$=@4444 %%%% !1110 4444 %>(_%0_Z=^->W5X=\5O^0A^-
M=&&_B&&(^ \Q4_,:<.#48^]3STKWX'B2W&GK6]X)_P"1DA^HKGS6_P""/^1C
MA^HK#$_ S6A\:/IZV_X]H_\ =%2U%;?\>T?^Z*EKY\]T**** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** .1\:?\ 'HWTKYZU?C4)/K7T
M/XR&;1OI7SMK!_XF4@]Z]/!;'GXL@49&:*$^[2$\U[%,\F8N.*8.33LTG2M+
MZD]!.]26W^O%1]Z?;_ZX&L*_PG11W1]!_#?_ )!(^E=S7"?#4YTD?2N[KYJI
M\;/>A\(4445!04444 %%%% !1110 4444 %8GB/_ (\F^E;=8GB/_CR;Z5=/
MXD14^%GSGXH'_$U8^]9('RUJ^*&_XFS#WK(W?+7OT7[IXM7<5>:3O2*>:<PK
MK3,$!&12PC]X*3M2Q?ZP5A6>AO3W/H#X9_\ ()_"N]K@OAE_R"?PKO:^=J_&
MSVH?"@HHHK,L**** "BBB@#G_%-M]HL&7&>*^<O$-OY&KL,8YKZAU&'SH&'M
M7SQXZM/(U21L=ZZ\-*SL<N(C='+GF@#BHXGW*33P:]ZD[H\6:LQ,<T-P,TJG
M)ICGM6SV,T38S#4=E+]GO4<<8-*C_+BH7&'S7-5C='31E9GT%\/M4^V6P!;.
M!7H':O#_ (:ZAY6%SUKVN!M\*MZBO KQY9GM497B2T445@:A1110 AKF?&,F
MS3B?:NFKC_'LFS2B?:M*?Q(B;T9\]ZV=^IL?>JX'%/OV\R^)]Z83CBOH:'PG
MB5WJ+C(IBCFGCI3>AKJ1S)CE^]BFOUQ3EZYH8<UA5>AM3W._\!VY:>-L=Z]X
MMQBW0>U>3?#>Q\RV63'2O7(QB-1Z"OG\0[R/:H1M$7%+117.;A1110 4444
M%%%% !1110!Q?CN,O9G [5X!J$>R_?ZU]+^(K/[3:/QT4U\Z:_%Y6K2IZ&O1
MP3UL<6+CH8[</FI.J9J!S\^*D#?+BO=@>2PC.0:5/O4U.*<?EYJFB'N/;FO0
M_ %QMO8TSWKS82?-7:^ I_\ B<QKGN*\S%+1G=AGJCZ)C_U:_2G4R$YA3Z4^
MO"/8"BBB@#F/''_(!D^E?-MX/](?ZU])>./^0#)]*^;+T_Z2WUKU,O.'%C%&
M:"*$Z4,:]N)XT]QJCYJ?WQ3 >:4G S1/8J)K>&^/$%O_ +U?3^G_ /'A#_NB
MOF#PO\^O0'_:%?3^G_\ 'A#_ +HKY_'?$>SA/A+-%%%<!V!1110 4444 %%%
M% %#6(_-TZ1/45\\^,++[+=L<8RU?2%RF^%E]:\3^)%CY<N['>NG#2L['+B(
MW1YJHXIK<<T*WS$4A.3BO>HNZ/'GN YYH-'0XI&-;LPZBKR*3J:%.*.AJD5;
M0<.N*=$/WPIO3FEB/[T&N6OL=%'<]]^&0_XE7X5W]>?_  Q.=*_"O0*^=J_&
MSW*?PH****S+.8\<\Z!+]*^9+U#]L8D?Q5]1>+HO-T:1?:OG#6+7R;QN.]=N
M$W.3$)LHJ/EIT8W-0OW::K;6KVX(\F>Y,_3%5MOSU+OR:"O&:V6QFW8C<4T=
M:?U%0EL&L9JY<6;.F:JVG/N5L5W&A^*&FE4%S^=>8$%@*TM)N3;S#GI7%4I)
MZG73JM*Q],:+>K-:!BPK5$BGO7D>@^)=D2IN_6NTT_6!,ZC=UKRYTFF>C"HK
M'5T4Q'!0'-.R*P-A:*3(HR* %HI,BC(H 6H7G1<Y(I\CA8V.>@KSW6/$OV>[
MDCW=/>JC%R9,I)(P_'&N^5</&'KRF]N#<2EB>]:GB?53>:@QW9S6#7L86G:Q
MY>(G=B;:E7I3!3TZUZ:6APLD09--8X?%+G::@9\R5+>@D/<5VW@6T\VX4XZ&
MN)SN85ZK\-+/S/FQ7F8N5D>CAHW/7]/799QKZ"K51PKLB4>E25X[/4"D)P,T
MM5KZ7R;5W]!0!Y)\6[D!@ :\>4[GS7??$?4/M=SMSG!K@D7'->[@XV@>1BG>
M1= _=U5<_/BK"/\ +BJ\@P^:ZZBT.2"U.N\'6A?487QWKZ+LABSB'^S7CGPX
MT[[1&LN.E>SPKLA5?05X.*E>1[.&C:))1117*=(4444 %%%% !1110 4444
M%%%% !1110 4444 5;Z 3PE2,\5X%XZM/)U)^.]?0S?=->(?$:#%U(^/6NO"
M2M.QSXB-XW/,!]ZGN.14*-DD^]2J=U>_%^Z>-):BS+A :ZWP1=>5?KSWKDW.
MX8]*U?#4_E:@O/>N2O&Z-:,K,^E]*E\VU#>U7ZP_#$OF:<I]JW*\*:M)GM0=
MXH****DHH:I:"[MBA&>*^>_&ME]EU1E P,U])-RI^E>'_$6S_P!,DEQ77A9-
M2L85XW5SS/&!4L/0U7#9W4Z.3 ->W%W1Y-7<20[FQ4L,AMB''%1+RU22)N3%
M14C=!3E9GK?@36C((T+5Z[$X>-2/2OFGPGJ7V2^C3..:^@="O!=6JG/:O%Q$
M+2N>M1E=&Q1117,;A1110 4444 %%%% !1110 =*Y#QGJ0M;-L-CBNJN)!'
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
M'>N0;[HKOOA[!_Q,HV]Q7G8MZ,[L.M4?0,"A84QZ5)3(O]4OTI]>&>L%%%%
M!1110 4444 %%%% !1110 5P?Q+B#:.>.U=Y7'>/X_,TDCVJZ?Q(B>L6?.4G
MR2$5+&WRTFH1E+HCWJ.,XKWJ+T/"JQM(28X--C.VG3#)%,8'%=B)V0\'YLT[
MHVZF*#BG-]RN:LBZ>C/:_AI?!;$)GM7J2G*@UX3\/;LQO&F>M>YVYS A]17A
MXB-I'L4)7B24445SFYS/C?\ Y 4GTKYLO3_I+?6OI+QQ_P @*3Z5\V7O-RWU
MKTL#N<>*V(P>*!Q24K5[!Y$MQ!US2/ZT[^&D/W:F6PD:/A?G7[?_ 'J^H].
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
M_$95OA/+%&XFCOBEA/+4A.&->Y3GH>3*%V2'E<5O^">/$,(]ZYY6YK>\&/\
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
MQ:[&VWO656948VD>\VW_ ![1_P"Z*EJ.#B!!["I*\\[@HHHH **** "BBB@
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
M-L.1$B#"*/:G445F6%%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 54N+-9FR15NBA.P-7,QM+C/8
M5&='B/85KT57,Q<J,C^QHL?=%']C1>@K7HHYF+E1EKI4:]A4J:>BD'%7Z*.9
MCY4(J[5 I:**D84444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1VHHH IS62RG)%5SI49[5J457,Q
M61D_V1%Z"E&D1#L*U:*.9ARHS4TR-3G%7XT")@4^BE<$D@HHHI#"BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH ***1CM4F@!:*I&_C#$9Z4?VA'_ 'J +M%4Q?QD_>I?ML?K0!;HJF;^,=Z3
M^T(_[U %VBJ\5TDIP#5B@ HHHH **** "BBB@ HHHH **** "BBB@ HHJ*:9
M85RQH EHJC%J,4DFT-S5X=* "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHI"<#- "T51;48EEV;N:MQR"1<B@!]%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 444=J "BJKWB(V":GBD$BY% #Z***
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***9(XC7)H ?1444
MHE&0:EH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HIDCA%R:I#4XC/Y>X9H T**0'(S2T
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !5:^E$5K(Q/059KEO%>H?9;9USU% '*7/B$K>2+OZ'UI$\0$G[_P"M><7^
MJL+V0YZFEM]49CUH ])3Q!^]P7_6IWU\;AA_UKRJYUIH&SNJ.#Q&99!\WZT
M>ISZ_M_C_6H?^$A/]_\ 6O/9]68XY-,_M)L=: /9/#FK?:KH+NS7<=J\6^']
M\9M4"D]Z]H'04 +1110 4444 %%%% !1110 4444 %%%% !7/>*KPV=B7!Q7
M0UQ7Q#?9I)/M0!S6@:^UQK"Q[LY->L1G,:GVKP3P8"^MHWO7O47^J7Z4 /HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *CG.V!SZ
MU)4-U_QZR_[IH \IO/$+)KLD._H:]'T*?[18J^:\*U&4_P#"6S#/\5>U^%#G
M2U^E &_1110 4444 %%%% !1110 4444 %%%% !1110 4444 %-D.(V/M3JC
MG.('/^R: ."U;6?)O&3=T-=7H-Q]IL0^<UX_XEORNL2+G^*O4/!4GF:.I]J
M.FHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K,UN?[/8L^
M<8K3KF?&\_V?097ST% $OAN^%U"QW9KH:\I^'NL><C+N[UZI&<H#ZB@!U%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4UG"GDTZN<U[4_L=Q&N<9- '1 Y&:
M6JUC+YUJC^HJS0 4444 %%%% !1110 4444 %%%% !1110 4444 9NLS>1:%
M@>U>5V_B1F\5I;[^K5Z7XD_X\&^E>!VLA_X6!$,_Q4 ?2<!W0(?4"I*AM?\
MCUB_W14U !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 5QGC"Q>Z0A0>E=G5:YM$G^\* /GR\\*S/,QV'K3K;PK,I^X:]
MQ;0H&.=H_*A=#@'\(_*@#YW\2^'IK:T:3:1BN5T*REGN0O)YKZ'\?Z/#'H$C
M!1G!KRCP78+)J*@C^*@"^/"\SHAVGI4G_"+3;?N&O:K;0X#;1G:.GI4W]AP?
MW10!YQX&T.2RU0.RD<UZ\.@K/M=,BMI-RKBM&@ HHHH **** "BBB@ HHHH
M**** "BBB@ KB/B.,Z0?I7;UQGQ"YTD_2@#S;P0<:N@]Z]YB_P!4OTKP/P=G
M^W4QZU[Y%_JE^E #Z*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "H;O_CTE_W34U0W7_'K+_NF@#YXU-"/%LQ_VJ]M\)?\@I?I7C.J
M@?\ "42_[U>S>$O^04OTH Z"BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH *CG&8''J*DI",@B@#Q?7] DGU>20*>37I'A&U-KI2H1CBKTNE12R%R
MO-7;>!8(]JCB@":BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "N-^))(\,38]#795QOQ(&?#$WT- 'F?PO=BYR?XJ]Z@_U"?2O"/A@N&/\
MO5[O!_J5^E $E%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5YA\1+TV^HVZ@
MXRPKT^O%_BS*4U>T _OB@#U3P^_F:/ WJM:E8OA4[M MC_LBMJ@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH QO$2[K%OI7@-O$1\0HC_M5]!:[C[$WT
MKP>+'_"?Q_[U 'T/:_\ 'K%_NBIJBM?^/6/_ '14M !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '(?$3_
M )%R7Z&O)_ B#[>I_P!JO6?B$,^'I/I7E'@<[=04?[5 'T!:_P#'M'_NU+4-
MK_Q[1_2IJ "BBB@!"<"F^8N>M1W,HCA8YZ5A1ZF#/MW=Z .DHJ**16C!S4M
M!1110 444A(%  6"CFFB12>#5'5+H00[LUFV&IB68#=0!T=%-#J0.:=F@ KB
MOB(<:2?I7:UQ?Q#&=)/TH \Z\%KG6$/O7NT7^J7Z5X-X-?&MHOO7O$; 1+D]
MJ ',X7K0KANAK(U6^$!ZU'I.H"XDQNH W:*0$'O2T %%%)D"@!:*3(-!8 =:
M &^8-V,T^N>;4@-3\K=WK>5U*@YH ?12 @]*6@ HHHH ***3</6@!&8+UI0<
MC-96JWHMPO-7+*=9;=6SUH M44F0>]+0 5#=?\>LG^Z:FJ&Z_P"/67_=- 'S
M[JC?\55+_O5[1X2_Y!2_2O%-6./%4O\ O5[5X0.=)7Z4 =#1110 4A('6@D"
MJ.HW(AASF@"X)%)QFGUS5GJ@DN0NZNC5U*CF@!U%&:* "BBB@ HHJ*:0+$QS
MT% #O-7.,TX'(KE9=7"W!7=WKH;*82VZMGK0!:HHI,B@!:*** "BDR*6@ HH
MHH *0L%'-!('6J&IW0@@W9H NB13T-/KF[#4Q+,%W5T2L"!S0 ZBBB@ HHI,
M@4 *3@4T,&Z5#=3+' S9Z51TV]$SL,]#0!K44FX>M+0 4444 %%%% !7(?$4
M9\-3?0UU]<?\1CCPS-]#0!YQ\-!AS_O5[G!_J5^E>%_#,Y<_[U>Z0?ZE?I0!
M)1129&: %II<+U-*2!UK#U34! ^-U &VKANE.K&TB^%QGFM@,#T- "T444 %
M%%% !2$@=:-P'>J.I7(AASF@"\"".*6J.G7*S0;LU=W ]Z %HHHH ***0D"@
M!"X7J:%8-TK%U._$$F,U-I=Z)_XJ -:BDW+ZTM !1110 44A(%&0: %HHSBD
MWKZT +12 YHR!0 M%)D&@D"@ )P,FFB12>M5[ZX6*W+9K#MM5#SA=W>@#IZ*
M9&X9%.>M/H **** "BBD) ZT !8+UIHD4G -4-4NQ!'G-9VG:F)KC;NH Z.B
MFAUQUIV: "BBB@ HI"<4H.: "BDS2;U]: '44@(-+0 4A.!FC</6H+J98X&;
M/2@"97#=*=6/I=\)Y&&[H:U]P]: %HHHH 0G R:\0^+DBMK%I@_QBO9K^80V
MCOGH*^>/B'J7VK6H><[7% 'NGA)@?#]L,_PBMVN-\#WHDTF!,]%KL-Z^M #J
M*0$'I2T %%%)N'K0 M%-WKZTN]?6@!:*0'-+0 4444 %!.!14%S*J0LV>@H
MD\U<XS3P<BN4_M<?:=N[O726TH>%6SUH S?$3;;%OI7@5O(3\08O]ZO>_$?.
MGM]*\&M(\^/HC_M4 ?1UK_QZQ?[HJ:H;7_CUB_W14U !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ')?$'
M_D7I/I7DG@DYU)?]ZO6?B'_R+LGT->2>!O\ D(K_ +U 'T):_P#'M'_NU-4-
MK_Q[1_2IJ "JM_<"WMRY.,5:[5Q_B[64M[)TW8- &5K'BQ(T9/,_6N5B\3A;
MC=O[^M<9J5Y<7ER2C$C-0+8WA&X9H ]BL_&2,$3S/;K7>:?<"YM%D!SFOE]9
M[NSN(RY( 85[MX/UV.;3(8RPW8]: .UHID;AUR*?0 5CZUJ0L(]Q.*UI'V(6
M/:O+OB!K@$12-N10!'KGBU9(B@D_6L73_%(AF#%_UKA&:[O93@D@TKZ;>JN1
MF@#VBS\9),RKYGZUV&EWPNTR#FOFFSN+NSN%\QB,&O8O!.N+)&JLW.* /1ZX
MSXA'&DGZ5V,;!T##O7&?$,$Z2?I0!YQX.3.MHWO7J6KZ\NG[5+8XKRCPO=I:
MZDI8]#5GQKJ[W-XJ0MU]* -G6/%*SDX?]:KZ)XJ6&<Y?OZUPZ65Y*I)SS5&:
M&[LWW'(H ^AM%UY;^4*&SFNGKP?P+K;)?*LC=Z]PM+@7$(=30!8K)U7419C)
M.*UJX/QU.\4;%3VH VM)UI;V5E#9Q536/$2V18%\8K@/!^N&*\F$C>M97BS5
M9+JYD6)ORH TW\5#^U_,\SC/K731^-4*@>9V]:\;2QO7'F#.:23[;;C+$\4
M?1WA_6%U)<ALUOUXU\-=<V?)*W)KV*&021AQWH ?1110!#=2^5 S^E<9J'BM
M+:0J7Q@^M:WB754M+.12<'%>#ZWJ4]U=/Y;'K0!W6M^+UF"XD[^M7].\9HEJ
MJF3]:\D:UO9USS37%[;J 2>* /HG1]=6^VX;.:Z4<@&O"_!>MM%-&DC<U[58
MW2W,*LISQ0!;J&Z_X]9?]TU-4-U_QZR_[IH ^>M6&?%4O^]7M/A 8TE?I7B^
MJ?\ (UR_[W]:]I\)?\@I?I0!T-%%07%PL"DGM0!0UC4!8Q;B<5P6L^+D9"@D
M_6G>.=?5H2D;<_6O)Y#=W<Y()(- '<67B817(<O^M=A8^,$F*KYGZUXR]C=I
M%D9S3K"[N;2=?,8\&@#Z4TV]%T@(.:T:\\\%:VLT:J6R<5Z"C;T##O0 ZBBH
MYI!&FXT 1WDP@MV<GH*X/4_%Z1;T\SVZUJ^(]>CCL)4##=CUKPG4[JYN[Q]C
M$@M0!UT_B/-SOW]_6NKTGQ>GDHGF?K7DOV"[:,-S26TEW:S#<2 #0!],Z7=B
M[MA(#FLO4-:6VU)("V,G%87A'7D7351V&['K7*>(]8+^+[=$;@M0![/"^^)6
M]13F.$)]!5;3SNL(3ZJ*FG.('/\ LF@#G+K7EAN3'NZ&MO3[D7, <'->-Z_J
M4D>M2*&_BKT[PA,9M)5B>U '1444R1PD98]J ,G7-3&GQ;BV*X#6?%Z2QE!)
M^M.^(6N PF.-N1QUKR;%Y=3$@D@T >@:=XG$4X)?]:[G2O%"74B('SGWKPMK
M.\B7=S6MX=U2:UOXQ(QP#0!](Q-OC5O44^LC0]22]M4VG/%:] !6!JNL+9DY
M;&*VII!&A)KR#QMK16X=$;F@#8U#QDGE,GF?K63IWC!;>4YDZGUKSG_3+QR5
M)(S4-W97T1##=0![KI_BM+E@ ^<^]=E:3>= '!ZU\V:'J4]M.@D8]:][\-7P
MN-.CYYQ0!OT444 %%%% !7&_$C_D6)OH:[*N.^)'/AF;Z&@#S;X8?>/^]7NT
M'^I7Z5X3\,1AC_O5[M!_J5^E #G.U&/H*P+?65DU-K?=T-;ER<6TA]%->-6F
MM&'QG,C-P&H ]'UK6EL$8EL8KSC5/%BW,QQ)W]:;XWUHSHZ1-R17G=C:7MPQ
M8Y/- 'IND^+%M>LG7WKN?#OB!=3EVA\UX%>V5["NY=W%=3\.=9>UORL[=^]
M'OU%4K.]2Y0,IZU=H *9(VV,GTI]9.LZ@EG;/N..* ,?5?$:V;$%\8KE=6\8
MI+#M$GZUR'BC69+BX=8F[USBVU].N?FP: /4=+\9I%"%,GZUU&E>)5O'4!\Y
MKP"2VOK<Y^; KH?"^M26UW&LK=Z /HV-MT8/J*=65HNHI>VR;3GBM6@ [5SN
MKZRMD3EL8K9O+E;:(LQ[5XYXSUTR3ND;?K0!9UCQ0LUQP_?UI^F^+5M>LF/Q
MKS5$NKF7=DGFDU"WO(]NW- 'MUCXO2X< 2=3ZUVEE/\ :+=7!SFOF32]0N+2
M9#(QZU[OX2UE+JQC3=DXH ZVBBB@#!UK5A8.H+8S4^EZB+L#!S7 _$R]>VNH
M@IQDU?\ !^H$1*SGM0!VNKWHLK8R$XKCAXR3[3L\SOZU#XV\0(;%HT8;L>M>
M06EQ=SZJ,,<9H ^E-(OA>P[P<\4S5M1%F.3BLKP4LBV \SKBLSQ[<-"GRF@#
M=TC65O9BH;.*DU?5A91EBV,5YQX(U9OM\@=NE2^--;\R-XXVY^M %S5/&2/"
MR"3]:P+3Q($G#%^_K7!,+RXDX)Q4S6MU%"6YH ]RT3Q.EWM4/FNSA?S(@WK7
MS=X5U:6UNU$K=Z]ZT'4TN[5 #DXH VZ*** "L/6]5%AU;%;$T@BB+GM7DGQ!
MUS+[(V_6@"WK?BE9(\!_UK%T_P 3BWN-Y?\ 6N++7-V>"34%U97B1;ES0![)
M9^-$FD"^9^M=KI=X+N'<#GBOE_3KJ[M;E6D8X%>W>"-=26V5&;G'K0!Z%134
M;<H/K3J ,S6K\6%MYA.*71KX7UKY@.:YKXDW#6^BEE.*K^ M4!T(.[4 =7J=
M^+122<8KC[CQHD4^SS.^.M5?%^OJ$=5;FO'[JZN[G4%*,<;J /I'1=6%^JD-
MG-:.H7(MH=Y.*XCP$DPAC,F>E;_B^<P:86![4 9=YXK2 GY_UK$OO&R-;LOF
M?K7G>IW]Q<3,J,>M9$EIJ#G^+F@#TK0_%JQS,3)U/K7;:;XC6Z< /FOGU(+R
MU.3D5U/AK69(;A1(W>@#Z"@D\R,-4M9&AWBW%DA!ZBM>@#C?&&LBSMY(]V,B
MOG'Q)J'GZJK;L_/7LGQ*BG>9BF<5X)K$4BW@W==U 'L7A3Q0ME9Q@OC ]:ZL
M>.(^/WGZUXA8Q73VR"//2KRVNH<?>ZT ?2VA:@-0LQ*#FM6N.^'J2IHBB7KB
MNQH 9,^R)F]!7&:AXI2VF9=_3WK;U_5$L;60,<$BO!];U.:ZOY/+8]: /3#X
MVC!_U@_.I8?&2.P'F?K7C)BOFYRU.CEN[=@6)XH ^D=&U 7T.X'-:M>8^ ==
M4VXC=OF/O7ID;;T##O0 ZBBHII1$F30!!J5R+6U:0G&*X#4O&*!'3S/UK2\7
M:]&NFR(K#=CUKPNYGN[JY;:QP30!VR^(LW.[?W]:[#3?%R,B)YGZUX^EE=!-
MW-+:W5S;7*[F. : /H'4K@76C>8#G(KQ.T<#Q[$/]JO2+'5DG\/JA;YMM>86
MI)^(,7^]0!])VO\ QZQ?[HJ6H;7_ (]8O]T5-0 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!R'Q#_ .1=
ME^AKR3P-_P A%?\ >KUGXC''AN7Z&O)_ (S?*?\ :H ^@[7_ (]H_I4U16W_
M ![1_2I: (IY5BC))QQ7@GQ UMSJ,D*,2,]J]>\67_V'3V?..*\!N2=8\0XZ
MY- &QX3TEK^,.ZYSZUZ+:>%(VAR4'2G^$]"%K:K\O:NV@@"1XQ0!X=XUT'[&
MF^-.G/%9?@K7I(M3%N[$ '%>O^*-%%[;2?+G@UX3-"='UYSTPU 'TOI4PGM%
M8'-7ZYCP3=_:M&1\YXKIZ ,[6+I;>PE);!"U\[>(=2EU#4Y(U)(#5ZK\0M9^
MQ1-&&QN&*\U\+:9_:^INY&<MF@#?\(^'A<["Z=?6N[;PA"5^X/RJ_H6CBR"_
M+C%=+@8Z4 >"^--"^P.S1IT]*Q_!NJ30WRQDD?-BO8?%FC"]A=MN:\MMM(-C
MJR87'ST >\Z:_F6$3'N*YOQZN[2C]*Z'2.-,A_W:P/'7_(*;Z4 ?/LVHM::@
M0IQ@UJ:89=6U6'<"037,W>9M?\OU->O>"O#N3',5Z8- '66?A2+[+&=@Y6N;
M\7>&E@MRRH.E>KPH$A5<=!63K]@+RW88SQ0!\W6MU)INJ'J,&OH3P9?B[TA&
M+9.*\1\8:7]@N&D QS7H?PVU$MIT<>?2@#U*N \?#]PY]J[Y>5%>?_$)MMK(
M?:@#Q*+5&L[Z4*3R:UM$CEU34,N"037((QGU=D_VZ]O\&>&PMO'/MZT :^G>
M$HGM02@Z>E8/B?PPL$#E$' KU>TA$407%9FL:<+N)EQG- 'SMIE]+I6KQQ\J
M"]?1^@W:W&EPMG)*UX-XUTG^S-4CD Q\V:],\ :J;JWCBW9P* /0J9(XC7).
M*?6+XEO/L>F/)G&!0!Y9\2-<9+MHHVZGM7*^&;!]1FW.I.3WJOJ]X=9UQ5SG
M+5ZEX2\."WA1]G49H ET_P )QO",H.GI6/KWAE8D;:@KU.UMQ$F,51U/3A<(
MW% 'SC]HETW6 O( ->[>!M4%W8#<V3BO+?&FA_9)WG"XQ6C\.]:*E82W?% '
MN@Y%0W7_ !ZR_P"Z:= VZ%&]13;K_CUE_P!TT ?/.K\>*IO][^M>U>#S_P 2
ME?I7C6KIGQ1+_O5[-X0&-)7Z4 =#7,>*K\6EI(<X.*Z>O+?B9J/V<>6#UXH
M\LU+59M0U)HP21NQ7>^&/#HN(49TZUS'A+1/[2U N5SELU[=HVE"TA5=N,4
M<Y+X6CZ;!7GOB_1S8,S(O3TKWIX 3TKC_%>A"[MY&V]J /*O ^LR0W@1V(^;
M%?0FF3B:SC8'.17S1/$=&U90./GKW3P=J/VJSB&<\4 =A67KL_V?3W?.,"M2
MN8\;7 @T.1L]J /%_$VORRWIA5B03BKGAC1C>D.Z=>>:P["T.JZH&QGYJ]H\
M.Z"+2!#MQQ0!2A\+1F'[@Z5R?B/0/LRLR)TKV-8 J8Q6)K&CB[C8;<T >'6>
MLS6-P(B2 *A_M WGBVU;.?FJ_P"+M).G2O(%QBN3\-3FX\2VY)Z/0!]8Z9_R
M#H/]P5-<_P#'M)_NFH=,_P"0=!_N"IKC_CVD_P!TT ?/OBAR->E_WJ]<\"'.
MB)]*\D\4)G79?]ZO7/ @QHB?2@#JJSM9NUMM/F);!"UHUYQ\1=:^PQ-$&QN&
M* /*-9U.74=8DB!) ?%=OX=\-K-;([)R:Y3PGIG]J:LTA&<MFO<=)TP6UNJ[
M>E '+WWA:,6A(0=/2O+-?M9--O-R*1@U]'7%L'@*XKS/QGX=#VTLNWI0 _X7
M:R;I"LC=..:]6!W#(KYV\"WQTW4#%G&6Q7T#82>;9QOZB@"GKD_D6C-GM7SM
MXFOWN=>,8)()KWCQE+Y6F,?:O"K:T^W^)EXSEJ .]\&>&ENK(.Z#..XKHK[P
M?$;=CL' ]*W_  WIXLK)5QCBMF9 \3+CJ* /F[7=.DL;WY%/#=J]/\"7$C6\
M:MGI4NL>%Q=SEMG?TK:T#1_L*J,8Q0!TPZ4M%% !1110 5R'Q%_Y%J;Z&NOK
MC_B,<>&9OH: /./AH,.?]ZO<X/\ 4K]*\+^&1RY_WJ]T@_U*_2@!EY_QYR_[
MIKYAUS4FM/&4Y!Q\U?3U[_QY3?[AKY)\6N?^$RG'^U_6@#H;::;5;]5()4UZ
MCX?\*1FW#%!T]*YWP+X>^T6\=P5S7K^G6PMX0N.U '(ZGX2B-G(VP9"^E>+:
MD\FB:JVT%1OKZ@N(Q) ZXZBO"OB3H?D-YP7J<T =WX&U7[9919;)(KOZ\1^&
ME^?M$<&>E>VCH*  D*,FO+OB3K)M5V(W7TKTC4)?)M'?T%> >.]1-[JB1 YR
MV* ,/2DFU*_^8$@M7L.C^$XY+%&*#)'I6/X4\*@6\4^SKSTKU*P@$%LJ8Z4
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
MJ$]167X@G2>Q?O\ +0!Y'X(S'XP,?HU?0B_='TKY[\)''CQ@/[U?0B_='TH
M@O?^/5_I7@GCL@ZW!_UT%>]7_P#QZ/\ 2O ?')QKD'_704 >V^%E T&V_P!T
M5M5C>%O^0!;?[HK9H *Y3QE?>1I,ZY_AKJZ\S^(UT4MI8P>HH \T\+P'4M9D
M8\X>O?\ 1[806<8QC KQKX5V?FWTK,,_,:]TC39"H':@"P,8J*= T9&*D3I2
ML,B@#Q'XCZ=^_:4+TJW\'[@R22(3T)K>^(%D)+"9\=!7&?"&Y^SZA.K'^(T
M>\,<*3Z"O)OB7JF^R> -7JC/NM68?W:^?O'=TTNIR19[T :/P[TWS)(YBO>O
M<88PL2@#M7G/PWL@NF(Q'->E#[HH ,"HYHU:)ACM4M(>AH \&^)FDD++*%]:
M\V\ QE/%T(/]ZO?OB-8+)I;MCG!KP_PC%Y7C2%?]J@#ZOM/^/2+_ '14U0VO
M_'K%_NBIJ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** ..^(QQX<E^E>4> >;Y<_WJ]9^(8W>'91[5Y/X&
M^34%'^U0!]!6W_'M'_NTZ4XB8^U,M?\ CVC^E.G_ -0_TH \1^(]Z6WQD\9K
M8^'3QIIZ,2*Y+XD2XN)/K47A76S;6"C=B@#WW[=%@?,*7[=%_>%>4CQ0VW[_
M .M*/%+$'Y_UH ]6^WQ$8W"O/OB4T4FE$@CI6/%XJ8N1O_6L#QAKQN;#;NS0
M!-\/Y\:C&@/>O9M??9H4C?[->#?#N8MK$?UKW7Q)_P B[+_N4 ?/TI-WX@7/
M.)*^AO#T BTJ#C^&OG_3(O,UW/\ TTKZ)T<8TR$?[- %^BBB@ HHHH *XWX@
M?\@D_2NRKB_B&<:0?I0!Y?X/A!\1(WO7T#%_JE^E>!>##G74^M>^Q?ZI?I0
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
M]>YW!Q&:\(^(<H.MJOO0!U_PN&(3]*](NO\ CUE_W37GOPTCV6^?45Z%=_\
M'I+_ +IH \ U/YO%,H_VJ]F\*#&EK]*\6U)MOBR7_>KVGPHV[2U/M0 OB_\
MY%ZX_P!TUXEX*XUB3_KH:]O\6#.@7'^Z:\,\+.(M:<>LAH ^A=/_ ././Z5:
MJIIAS81GVJUGF@!:C8?-4E% &#XE7.ES_P"[7A?AJ3;XGF'^W7N7BB0)IDX_
MV37@_AS)\3S'_II0!]#Z6<Z:I]J\"\8?+XU)_P!JO?-(_P"08OTKP;QTGE^*
M6D]Z /7?!#[]-'^[75J,5POP[NA+IHY[5W@H 6BBB@"AJO\ QYM]*\"UM<^-
M[<_]-*]VU^<0Z>[$]J^?[Z]6X\:08/\ '0!]%:7_ ,@V#_<%3W'_ ![R?[IJ
M'2_^0;!_N"IKC_CWD_W30!X#XI&=;D_WJ]8\"#&B)]*\H\3_ /(<D_WJ]9\"
M_P#(%7Z4 7_%'_("N/\ =KY6U8G^UI/]^OJKQ.,Z)./]FOE_4K4OK##'5Z -
M&V9A;K]*E0LK9K<L] D>TC8*>15D^'9-GW30!S3%BV:>)6"]:Z(>'9-GW343
M>'9<?=- '$7MNUU>QG&>:]N^'5L88H^.U<1;>&G-PI*'@^E>K>%;'[+&HQCB
M@#K",BN,\5:/]MA<!<YKM*BE@20?, : /FO5O"[V\Y.S'-9\9;37&>*]R\0:
M+')(2J"O,?$GAV3)**10!K^%?$H655+]Z]BTZ<7%HLF>HKY?M3-IETNXD?-7
MOG@W5UNM.B3=DXH ["BBB@ HHHH *X[XD?\ (LS?0UV-<=\2/^19F^AH \V^
M&'WC_O5[M!_J5^E>$_##[Q_WJ]V@_P!2OTH 9>?\>DO^Z:\0T'_DHLW^]_6O
M;[S_ (\Y?]TUX?H)_P"+C3?[W]: /=E^Z/I2TB_='TI: "H+O_CTE_W34]07
MG_'I+_NF@#P?3IA%\09C_MU[K92^;;AO:OGP,5\>38_OU[QH;%K%2?2@#R[X
ME\W^/>M'X5)M#51^)0_T[=[U?^%<@<.!0!ZI1110 4444 %<!\21FQ_"N_K@
M_B*,V/X4 >?^ .-?'UKWD<QCZ5X!X%F \1[?>O?83NC'TH <@P*?110 5Q/Q
M&&=%;Z5VU<1\17QH[?2@#R;P8N/$,?\ O5]&0?ZA/]T5\\>#.=?C/^U7T/!_
MJ$^@H \8^,0S<QCWJQ\+8=DJG%,^+JYNXOJ*TOAM%M"'% 'JE%%% !7GOQ"&
M8C]*]"KS_P"(!Q"WTH Y;X:#_B<R?[U>TUXC\-I0-;D_WJ]L5LB@!U,8?-3Z
M:3S0 UQ\M>4?%D9LUKUEONUY+\6' M5H SOAM_KXZ]"\>_\ (MR_2N ^&Z_O
MHS7H/CI=WAR4>U 'B_@O_D*#_?KZ)LO^/./_ ':^=/"3>5JR@_WZ^B=/;=9Q
M?[M $[C-.7@4M% !6)XG_P"0+/\ [IK;K!\52;=%G_W: /!M*_Y#K?\ 72OH
M?1?^07#]*^>-#_>ZZV/^>E?1&CC&FQ#VH XWXK?\B^:Y+X:Q91&QWKK?BKSH
M!KFOAH/]'3ZT >R1_P"K7Z4ZFI]Q?I3J &N<(3Z"O)OB'K>+=X0W2O5K@XMY
M#_LFOG7QI</=ZW+ "3STH Q=)TU]0N0V,Y-=W!X5;R0-G;TJ;P/H>U$9UKU.
M+3X@JC:.E 'D9\*,F?D_2L76/#3K$3M[5[M/IT1'""L'6M*C:U?"#[IH \@^
M'-N;?Q5L(Z&OI%?NCZ5X%X3B$/CAD Z-7OJ_='TH KWW_'H_TKP/QR,:Y!_U
MT%>^7W_'J_TKP3QV?^)Y!_UT% 'M?A?_ ) -M_NBMFL;PM_R ;;_ '16S0 5
MX7\7!F[->Z5XE\5H]]T: /+] )61_K6U,6ZU'X7TI[F1\ ]:ZF3P[(1]TT <
M_P"<WD@9J!96#]:Z/_A'9?[IJ,^')=_W30!S5_NFB8>HK<^'6B-)=[]O\6:N
M_P#".2,.5-=YX"T46A)9* .VCC\K263T0U\Z7J[?'LK?[5?2EP +20#^Z:^<
M=67;XTE;_:H ]W\+-NTU?I6]7.>$&W:6OTKHZ "BBB@#)U[_ (\F^E?/\?\
MR42+_?KWWQ$^RP8^U?/]O)O^(<1_VJ /I.U_X](O]T5-4-K_ ,>D7^Z*FH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH Y#XA_\B[+]*\E\#$_VBO^]7KGQ!&?#TGTKR3P2,:DO^]0!]!6
MO_'M']*?-S"X]J9:_P#'M']*E894B@#P'XF6S!W;'>NJ^'%A#/H2;L9Q4/Q5
ML FG&7%5?AGJ.VWC@S^% 'I']@PD?='Y4G]@0_W1^5;J\H#[4M &%_8,7]T4
M?V##_='Y5NTA('6@#.M=,CMV! %0>)1G1)A_LUL @]*S=>3?I4J^U 'S@&,7
MB)0>\E?2&A'.CVY_V:^<]7B^S>(XN,9DKZ'\.2J^C6^#_"* ->BBB@ HHII<
M*>30 ZN*^(G_ ""3]*[4<BN,^(0SI)^E 'FW@L'^VD^M>\Q?ZI?I7A?@U?\
MB<)]:]TC_P!4OTH ?1110!Q'Q&.-'/TKRCP6<^(X_K7K'Q%&=(/TKR3P8<>)
MD'^U0!]'0_ZE/I7G_P 0A^X?Z5Z!#_J4^E<%X_&8'^E ''?"O/\ ;4O^]7N-
M>)?"Y<:W+_O5[;0 4444 </XZ)^R2?2N&^%W_(?F_P!ZN^\;IFRE/^S7G_PN
M/_%0SC_:H ]Q;[A^E>"?$*$KJKOCO7OA^Z?I7C7Q&M<&23% &Q\,+@?V?@GM
M7IHY KQ;X:7NR,)GO7L\1W1*?:@!]%%% %6\;;"2:^?/'<OF^*8T'=J]YUN4
M163-GM7S]K+?;/&$/?YZ /7O 5L8;-"1U6NQNO\ CUE_W365X>LQ;V$)QC*B
MM6Z_X]9?]TT ?.^M$CQ3+C^]7M7@PDZ.N?2O&-67=XJE'^U7M/A!=NDJ/:@"
MSXH&[0YQ_LU\_P"FO]GU[!XS)7T+KZ;])F7VKYWU$&TU].V9* /HO1G#Z7"?
M]FK@^_6+X9N!+I4'/\-;H'.: '4444 <=XUN/*LI5SU6O'_"41E\02D?WZ]&
M^(]V(HF7/45Q?PUM_M.M2,1GYJ /<-,7;IZ@^E>)_$>S9+^28"O=H(_+A"^U
M><_$C2@VF2S[><&@#,^%U^/L>PGFO6XSE :^=OA_J1MKM8BV/FQ7T%9SJ]M&
M0>HH M4A.!1N%133*JGF@#D_'-\(='EP><&OG73KMKCQC 2?^6G]:]:^(>J9
MMY8@WK7C?AM2WBJ!C_?_ *T ?76E?\@RW_W!4]Q_Q[R?[IJ#2_\ D&P?[@J>
MX_X]Y/\ =- '@'BK_D-R?[U>L^ _^0(GTKR?Q0,ZY)_O5ZSX%&-%7Z4 :OB%
M=VD3#VKYWN[8+KHW#K)7T?JR;]/D7U%?/WB=/LFMQGI\] 'L&AZ1#+I<)P/N
MUI_V%%C[HJAX/NQ-IT*YS\M=70!B?V%%C&T4W^P8O[HK=HH PTT*)6SM'Y5I
MVUJL X%3E@IYIPY% !1110!5N+59CR*R-0T**:%B5'3TKH::Z[D(H ^<_'VF
MFQ?<BXP:W_AEJ3R31Q,:V?B1I0>W+;:Y3X<'R]>$?H: /H =!2TB_='TI: "
MBBB@ KCOB1_R+,WT-=C7'?$C_D69OH: /-OAA]X_[U>[0?ZE?I7A/PP^\?\
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
MQZR_[IH ^?-3_P"1KE_WOZU[5X3_ .04OTKQ/53CQ7+_ +W]:]J\(G.DK]*
M->_B\VT=/45X!X_LC8ZK')C'S9KZ((R,&O)?BAHYN3YJ+]WF@#3^'^K"YMXX
MMW05Z.#Q7SWX!UC[!J!B=L8..:]NL-36YC4@YS0!KU%.X2(G/2HVN .]8FMZ
MPMM:OE@.* /+_B=J>;E8P>IQ5SX5VNVZ\S'6N,\47#:SJJ;3G#=J]7^'^F&U
MMXV*XXH ]$KF_&=M]IT21,=17250U>'S[-DQGB@#YC\TZ-K [8:O8?#'B<7<
M*+OZ#UKSSQMX<D%VTR*0 <\51\,:B^GOM=B,'O0!]"+? Q9SVKFM;\0"W5AN
MKFH_%Z>5M\P=/6N9UO56O"VUNM %77+\ZG<,N<YKG](LOLWBBW&/XJZ/2-'D
MF83,"15::,0>+K9<8^:@#Z,TS_D'0?[@J:X_X]Y/]TU#IG_(.@_W!4UQ_P >
MTG^Z: / ?%)QK<G^]7K/@0YT1?I7D?BHYUR0?[5>M^ _^0(GTH Z6Y3S(&7U
MKPCXEVOV:_1\=&S7OA&17E?Q.T@W2F15Z"@!OPTU3[1MBW=.*]7KYT\ :D=*
MU1D=L8;'->ZZ;J:WB @YS0!K445C:KJRV(.6 Q0!5UO519W,:;NIK;LY/-M4
M?U%>1:[KPU#580CYPW:O5=%).EPD_P!V@#0I,CUK/U:^%C;^83BN<@\6Q23[
M-XH [2BJEC="YCW YJS(VU"?2@#A/B*0+(_2O.OA_P#\C/\ C75_$?5E\GR]
MP]*P?AW9EM66?'!- 'NB_='TI:0?=%+0 4444 %<=\2/^19F^AKL:XWXD?\
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
M7K_PXTD16 9UYQ7G_AK1S>WR,R9R?2O<]#T\6-JJ@8XH U5&% J*[_X]9?\
M=-35%<\VTG^Z: /GC5P?^$JE_P!ZO:O!_P#R"%^E>0ZI:LWB>4[3]ZO8?"B%
M-+4'TH WZPO$FG)=Z=,2,G::W:BN8_-MW3U% 'RO.D^EZ[*P!"[Z]5\+:\I@
M0.W./6LGQ[X>%J6G5.3STKA;#5IK2;9D@"@#W:77(L_>KA/&.MEH76-NH]:Y
M9O$<Q?[QJE-=RZA<*AR030!9\(64NH:AND&?FKZ%T:R6VLX\#M7GO@/01&H<
MI[UZI"FR)5]* 'TR1 ZX-/HH Y7Q'H<4]A*VWG'I7A&K:7<6T\GEJ>M?35U%
MYT#(>]<=>^$X[AV)0<F@#YZ5=0$N,-UKH=,T^YG*[U->I?\ ""Q[L^6/RK2M
M?":0X^0<4 5-)TA(=$WLO.*\PU88\;6X']^O<;^$6>CLO3 KPZ\_?>,H&_V_
MZT ?0VE_\@V#_<%3W/\ Q[2?[IJ'3/\ D'0?[@J>X_X]Y/\ =- 'SYXF4G7Y
M/]ZO7O HQHJ_2O,O$5HS:U(V#]ZO4?!B%-(4'TH Z6L7Q!IR7=A+D9.VMJHY
MT\R%D]10!\O:K!-I>L2,H(&^O3O!FO#R8Q(WZU2\>^'Q&&E5.3STKSZVU6;3
MY=HR,4 ?1G]NV^/OBO.?'>NY#B)OUKBQXMG/&XUGW5_-J5P%;)S0!/X9^T7^
MIJSY(#U]':0I3385/9:\M\">'A\LA3WZ5ZW;Q^5"J>@H Y/Q^TJZ0QCZXKPN
MTU6Z@U4"0D#/K7TCK=@+^T,9&>*\%\6Z,=/O7=$QCVH ]4\*Z]$UF-[\XK;O
M-=@%L^'&<5\_Z5K]Q;1[<L,5:NO%<[#;N/- "^.=0>\N]J'(W5Z+\.M/V64,
MI')%>86<#ZI=*S*3\U>\^%+ 6VF1#&,"@#I>U%%% !1110 5QWQ(&?#$WT-=
MC7)_$",R>'95 [4 >8_"^%BS''\5>[0<0K]*\K^%NG;;9V*]Z]7484"@"&\_
MX\YO]PUX-X?#?\++F_W_ .M>]78S:2C_ &37C&B6;+\0)9-O&Z@#VQ?NCZ4M
M(OW1]*6@ J"\_P"/.7_=-3U%<C-M(/\ 9- 'SK%"[_$";C^.O?-%0I9*#Z5Y
M1I^F%_'$KE?XJ]CM8O*B"^U $DJ"2,J>]>.?$W1?F\R->1S7LU<UXHTE;^U<
ME<X% '@'AS5)[:^$;D@!O6O>=#UZ$Z>@9QG'K7ANJ::VGW\C*I&#Z4^T\3SV
MY$>XC% 'N.MZY"+!MK#./6O#O$>KS7-V8T8D$^M3WGB6:> IN)S6?I%H^HZC
M'N4G)H ],^$]M)$C,XZUZL1D8KF_"VDKI]JA"XR*Z6@#@_'NDK-IS,JY.*\,
MLY)].UQ5.0H-?3^K68O+8H1GBO#/%VA_8KQI53I[4 =IHFO+L3<W;UK9U#7(
M_+&&[>M>(6NM30<9(Q6@?$$LL1^8]* -;QGK32Q;8VJMX TM[O55DE7@FN>C
MDEU.[","1NKVOP5H*VMM'-MP: .UL[=;:$(H[59H'2B@#QCXN(6O8?J*WOAX
MN(8_I6?\3[9IKN(@9Y%;'@2(QQH".U 'H-%%% !7GGQ#_P!4?I7H=>=_$/\
MU1^E 'D-K8?:+J0J,FF6%Q/8ZN5.0H-=1X,LQ>:A,I&:K^)M'-G>/(JXY]*
M.XT775\A=S<_6M"\UV,0-ANWK7CEOK$UN=N2*EGU^9UV[C0!9\6ZG+<S;8SG
M)K=^&FE/)>^9*O4US&FVSZG=+N4G)KVWPGHBV,"2!<9% '5PQ"*,*.U2444
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
M[#K>E+--D(/RK,@T4+,IV=_2@#FM%\'F.19"G?/2O5]*MQ;6:IC&!2V=I''
MHVC@>E7  HP* %HHHH Y3Q/I'V^56VYP:M:%IWV-5&,8K>>-7ZBE5 O04 .H
MHHH *\Z^(G^I/TKT6O//B&,PGZ4 <E\,_FUB4>]=MX@T#[86.WK7%_#%,:U)
M_O5[2\*N.0* / -3\-&"8_+^E4[;P^TTRC;WKU_6=)664D(/RJCIVBA+A24[
M^E &7H/A;[.R.4_2O2[.(16ZKCH*2"V1(EPHZ58 P* %HHHH *Y+Q7HXU%?N
MYKK:8\:OU% 'A&K^%#;9;;^E9>F^'FN+O;MKVOQ!IJ3PX"C\JQM$T817NXI^
ME '-V/@TQ3JVS]*](T.R%I;A<8XK16UC&/E'Y5*JA1Q0 ZBBB@#"\36'V^Q\
MO&:=X;L/L-@(\8K9= XP10J!!@"@!U%%% !65KEF+NU*8SQ6K2,H88- 'CNL
M>%,(SA/TKC9]#;S,;>]?0>I6:26K#:/RKBIM#!F)V=_2@#C-#\+&9LE?TKTC
MP]HGV)3\N.*NZ#IJ0#E1^5=$L2KT H XVTT/RM?:YV]37:#H*8(E#;L#-24
M%9.L68NH67&<BM:D90W6@#QV^\&&6Y=PG4^E01^"2K@[/TKV,VL9/W1^5'V2
M+^Z/RH RO#-C]@T\1XQ6Y340(, 4Z@"*YC$D#+CJ*\QU_P *?:IG<)U]J]3Z
MU!+;(ZG*B@#YVU#PZT$A7;TK7TKPB;FTW;?TKO-6T42W#$)W]*Z#0M.2&S"E
M1^5 '(^'O"_V*124Z'TKT>!-D2CT%(L")T J6@ I#R*6B@#EO$&DB\1AMSFO
M/+_P:55WV?I7M+1JW453O;*-[9QM'3TH ^>VT%C<;-O>NPT;PB5"2%/TKH/[
M$'VS=L_B]*[6RLXX[9!M' ]* &Z5:BWL5CQT%<U<Z'O\0+<[>AKM  HP*:8E
M+;L#- "QC;&H]!3J** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** $8;ABJS6:,<XJ
MU10!#% L705-110 4444 %%%% #)$#C!JN;),YQ5NB@".*,1C J2BB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ I",C%+10!5>T1SDB
MGQ6ZQG@5/10 4444 %%%% !1110 4444 %1RQB1<&I** *GV-,8Q4\40B&!4
ME% !1110 5S'CB1H]!D9>N*Z>N>\80^=HLBXSQ0!Y%X5UIXKS;(W\5>QVFLQ
M/ GS=O6OG.Y>73M1X!'S5U>E^)VPBLYH ]L.I1@9S44NKQ(A.X=/6O.9/$8\
MD'?^M9&H>)B(CAZ ,SQUJC7>IO$C9!-=M\,--'V#>XYQ7E,1EU36@2"037O?
M@NS^R:>%QCB@#J5&% ]*6BB@ HHHH **** "F21B1<&GT4 5DM$1L@59HHH
M**** "BBB@!&7<N*K_9$W9Q5FB@!%&!BEHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH *KRVRR=15BB@"M':)&<@59HHH **** "BBB
M@""6W60Y(I@LT!SBK5% "*-HQ2T44 %%%% !1110 4444 %>?^/QF(_2O0*X
M#Q__ *H_2@#F/ALN-9D^M>S5XU\-S_Q.)/K7LM $$ELLAY%,2S1#D"K5% "
M8&*6BB@ HHHH **** (IH1*,$5'%:)&V0*LT4 %%%% !1110 4444 %%%% !
M1110 UU#K@U6-DA.<5;HH BBA6+H*EHHH **** "BBB@ HHHH **** "BBB@
M"M):(YR14L48B7 J2B@ HHHH **** "D9=RXI:* *GV)-V<5:5=JXI:* "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *HZI;_:;1DQUJ]2$
M CF@#POQ9X>\N5I-O0UYO>WQL)L9Q@U] >-(E$$AP.E?-/BUBMTV/[U &Q_P
MDI:,#?\ K42:L;J79NS7$Q2MZFM+1G)OER>] 'NW@SPY]H1+G;FO7]-MOL\(
M7&.*YKX>1*=!0XYP*[, #I0 M%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %>=?$1]L9^E>
MBUYM\2/]7^% '/\ PS;.L/\ 6O::\2^&'_(8?ZU[;0 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
0 !1110 4444 %%%% '__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>15
<FILENAME>image02.jpg
<TEXT>
begin 644 image02.jpg
M_]C_X  02D9)1@ ! @  9 !D  #_[  11'5C:WD  0 $    9   _^X #D%D
M;V)E &3      ?_; (0  0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0(" @(" @(" @(" P,# P,# P,# P$! 0$! 0$" 0$"
M @(! @(# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,#
M P,# P,# P,#_\  $0@#JP*\ P$1  (1 0,1 ?_$ )(  0 " 04! 0$
M       ("0<!! 4&"@,""P$!                     !    8" 0,# 04&
M! 0#!0 3 0(#! 4&!P@ $1()(1,4,4%1(A4687$C%Q@*D3(D&8&Q0C/PH5+!
MT?$T)6)R0V,ULE-4)C:"<Z-D154I.1H1 0                    #_V@ ,
M P$  A$#$0 _ /;)G&.VKD9"KAKI<,)U.,1<&-<ARS0+==GL@W,ZC (G7U*U
MD"DH1((Q_P PQC+$>G5<"@0"II^X?@1R80?E>;]1D\D:*R F76)T:XIS8W(B
MW".1(W<>V;)Y5'"AY3W%#)>ZGVH@4O>)A] XQTX\M3:/0<(&TDDI5J11%]%I
MTC*C2-E#HC[B;V,EG&<!=QQ7Q?X8IN&ZHH^I^IO0G X(9KS"S 2Z+:N:14H2
M(%_)G,K"Y,MA%7!15 P.ORO,48K[2XE+T_AD$A#"(F$P=HAQ/Z1\RC^&!ZIF
M+2^!GG97;0\*VQQ>)1A$F$71V,R@_<2 '?=%!0(JQ.;H"(*"5R93MX'W1QCY
MA_:@#/=H=0E5E&1D[6TC,)VJ/*T?@V;E(YK,K(.IL'K91U[QQ1>,4#)D!,H*
M*#W&X'S"@>9:/;L&S?/^E-@.H@[)+R,WC6^,7;=PHQ=),5XE.%;-F:J#9^9%
M54BZ F4(0Q2B'7@;^2QMY@7,'%G8;,:<Q=H168EE4B87NC^LNVWQ);\Q71!:
M1_.@7!V9E[*('1*8I5C"H'4B? WDGB_RSJ+MSPVU.K*+< 3(]1DL$V ZB@IO
M#]%V:B$@ -Q7C0 54S@N'R#?@.0A.B@;.1Q7Y:GDJZ,CM;K5$P:\9#IM48C#
M;XTLQEA9(EGW)G4Q SK)ZR3?D.9FF**1SIG#W#$$O00^'\FO*\F<B:6WV(ED
MP.H*SMW0*IWK$&-1(1)K&-<$H!'B$N10_N*.W@"W.!>SN#KP"F(/*ZLZ*']5
MN(FS8J9B_P"DJE5[C&(D@8KA4'NN3D ,HX(<@I$/_P!M3N W4O3@;9AAWRUF
MC99&5VYPD25,Y8C"/(O'T!\,D>B=1213DF[W""A_S)^0I$DEDS&1;>X904%O
M;!-0.74P]Y3&Z#)!IMEBV250BTBOWTE4*<P4?S2C-U\HR+1AKLNC'QS9\LG[
M ]ZYSI(@*A>XY@X'R0Q3Y56K93YFS6'I%PHX*5(R4/76*;=KW=>I@3UDD#.%
MS!^ ?PID]0, AT$I@ZH7$_F4"8=.%=J]91KRBB9VD:TQOWS3 "JN#JM5I9WC
M)JQE2+I&13!P5HT%N!5%/:7$Q$R!WJ%Q]Y8@!8+%L)J\!$WG8T3A\93B[U2,
M664,=:4E'<:U9#(LD/;!/XL>"2QN_N3+U+V!SZ6+?)D"R:IMK<&>R$2)#,U<
M&BY,M- </]7\U+\K^+' D(]&QD3*F/T_C  " AQ4CCORQK1:B$9LEJ%&RBC*
M3Z/G6#KQ,))2*UH9*Q)4&R=GAR%:-*:5PDJ=3W3'D>P_:"1NT@?*.H?ES3,Z
M7EMAM)793B]19Q<=@O*+#V$CP[Q&.?+3KF^2 JNV\X=!=5 (X$U&Z9DP,0Q@
M, <O7*9Y54$3)63-^G3I=59L8[UMBK)#A-ND:-DDWB;..2F8(W5&5!DHF99R
MK[J1ERC[8@GP.?L->\G9?U7*U')NFAG;E\DE2J?9\>9;- Q,2W:)%%[8;;$3
MZ4Y+S$D]]PRB"#!JW;D @$,?J/ Q(K4?-7(-$6BF9O'=7%C,3O74U$8KSO..
M232B:!0@FD1+V-FT&NH'*<2/E%C/!,8#&1$H>V =@CJ1Y=XY=<ZF>](["T$[
M-=!O-X;RHR<)G<'[9>/4>05FC4U64<F0!8*@W*LL90??]"!WA\30?F72F(M5
M+(7C@>P76%),LW./=CF,D)4G[I6?5BWB-N>-TU74;[*+8%DC$(MW*#Z "9@R
M@C%^3$B$6DK;M*W*I73<TP[&KYF;"K'^VDFZ;L&I)-0A'QE.]8BYS F'X4Q1
M^JH!UUVT\KY)\_Y9+Z#KU=&4((!,1N>4)Q[#^\58Z9#1BRC-D_*@'L <04()
MQ,MV@'1+@<(^4\PR3>3/&(>-Z0<%<.%(=-XOLS&D4;J+J"S:2)B,USE4;-^P
M%5TPZ*G,(E3)V]#!R%B0\LZLW7'U6=Z&,85& .QMM=F!SE)"^L+Q)NL6P5V?
M;LF#E@V@UD5&X,'+54KXBP*BN@*?MG#K,*[\T#)DX2G:_P"-6P/AE7"K1VTM
MNRM:*6%,_P#?:M'+3]%V-+\Q3C %N98J@IBOT6[!+_"X&0GLKY1E8U,(ZEZ-
M1LPG/E<KJ2%^SE+1*]6!,531:*32B1[]">%14$OG"*K< 1$_Q![RE*'*5*P>
M2U2J/R7;%NEZ%U1;-@CG5?R]F,U<?.A17%T+F->8L6D627R"IE* /%! IC&Z
MB( 40XH]G\HQ#P2 8<T@7ZB^=65^3.6:D&WLMV:!V,5"M3X<.[3D)*0]P@N5
MC*(-T>TPD.;J3@<Y$2WDC,PD7$_3-,DY(LNP+%PL-?,U':+5\ZCA645=65[1
M"JDFVJ(HMT2!&E055]Q<3%)VI\#D).;\A"1X;\KQYJJ\(\>S24X"^3,F-P@X
M\JTN6N/6!QQX4\^[<MACSO4#ILBMU"N2D.L4Z0D#EYRT[U$^46MX=UI<'2=D
M39FG<X9%:(R+$SAT NNZ/PNZ5CW2+($3G15*8IE1.0AQ "F,'4(:S^2M6S1J
ME@Q#IJSI2S42RC:(S5EU[<&3X57'15LL\Q T@'3,C<R74@]J@G*< -T,42AS
MJ%F\@(JLU5\3:MG1,L*,FQ2R]DA-=J1)H^ZOF$FIB[X[\CQ[\82(';(F03!4
M#J*")!*'2VU[\G#4I%937C4V2! JWOM:_L%?FZT@9270(T.U=3F)448Q-K!)
MK'6(H1T*CI1,"' A3CP.POLJ;]H,I]9GJ'AN0?((')6F!-I#MTY%Z7X9B*RS
MUQB5/\NCE$U%B@"2:RP*I%ZAV'[@#KR.8?(_U.*VE&$.PYW)$2CMP"+A,"),
MA:KNB$PXY0,DNNLN!@34$Y"(@/01/T .=<Y&\AB[!V,9K!KXQE4V"H,23>RD
MZYC7,F+MC[!G3F*P\+MJQ28 Z[@(@H<ZPI!^$@''@=J8Y*W+3BW!YC5O'B\T
MU:N!(E![$,ORR3>HKF203:*RE!;.631V@ *=ZY1.3Z&)U].!\7F2]UT&2BS3
M5C%KYW^5)NDF?]216IAEC(@=2*5<*XN.@FBDL(D!R7O*< [NPH#Z!CR1S-Y'
MSKQQH71W"A&:[YHG(EG-PDT'T>P$S-1\X*G%X6D&CI0&YG!$BE5]5RI]Q03,
M8Y Y2,SEON*DDE-Z%5!/X\B+6+=0VW5+>-9*/^&@J64<%D,?1CJ. 'HJ)'1]
MM90"E*8O=W& H?<<Y[U++&!OH776J""R!53R.VU"$[M)3V@76CB,:.\ 2MC&
M.'1P+<Q^T.@!UZ '+6/,6Z\661&NZ55>TB@V27C -M/48,7SA1 %5&2P/* L
M#4Z"QA2$XF.0PE[@'MX'&*9HWO347.31ZENFP$9_%3)M;4TI RZZZ17GOIGQ
M^#%-JQ;J&,!BKG45,GV@0.X#<#D*QE[>.3&<+:-,L?UCX+M1"%4;;3PLXE/-
MCMG2C5Z/QL:M%HH$W:22;A-4ICE(KW)^YVB7@:&RCO:X.<C34K$[$31":R*T
MULZF+4LX#U$JS%T$1BI^Y3C/ROW3$<IIJJBZ["&2*F)CE#\CES>)2.,X+IM2
M4I,#QA@C3;0UP4!35<K$FB%?$QZ;JHS:$(HU$Q *N8XE4!+IUX').<F[J_,!
M&/U5QZ+96!:2!'LKL?'MTFU@"0;$D*\[;L,?2#@S<8994[=ZD"A#/40343(D
MH"Q0XR3R]O UE4&<;IK4I2,<1X&-,I[-U-FG'RYHU591N^CG]$!ZK&)2P%;E
M<("JH9+JK['_ $"&Q=YGWM:QKE5OI'4I2934 C-FAM)4FL6X$8\BYO?DW=%1
M<)(@_ R0* T$1+VCV (CV@<9TW?519K1FB+$>H+EDFTMM#CB,<D7;'( _E0M
MZY*$=M'G:J#<Z_Q3C_#%0I"F,) Y:OYOW%EUG!9;1EQ5FZ2YR(JR>S&)G[AT
MB!D>Q=-"!C9%-(#D4,/:=0# )! ?J \#FV67ML@2G%)+3E$#M9<6T$W9;$8[
M<KR\./M]DHZ,O#QS:+6*)S=Z G6-T)U PB(!P/NURYM2+]XB]U"!%B9<B,8\
M;9_QT\-[1E3)G=RC<\:Q.T(0G13L0^28"@(=3&Z!P.:C\H;(G.\))ZLE;^T]
M228K,\X4-TD[8G6,FH\<%59-%F:Z*8>Y[0 J!BB  ?NZ@ <\[R1F]$7WQ];9
M-[\<K<S,4<KX[2"1%582+ID^4[2%LHV1#O'W  I^O0#=>!LHK)6P#EZJC*ZR
M*1;,7+M-N\1S+1)'_2MRI"V=.6Y6[95$[\YS@!""M[8$#N$.O ^<7E7.SSW"
MR.K-AB% 6E4D^_+&,7B!TV7QQCW!UD)3O33F 54 @=@F2,E^,  Q1X'+DR'F
MHQ$C&UU?D.=V**I#94H0E0:@HD /3G(L/>0R1SF A0$_4G00#KUX'R5R/FU,
M%S$UNE5NQ1($2I94QX!W"9@_BJ%!9VF"8I&#_*8?Q%'KU#Z &Y#(.9#+)D+K
MW(E1,5[[JRV3J(0456YB@T+[2:RPJ)/RB(@<H]4Q#H8O VL9D?-SKJ,GK=(Q
M0 18PE3ROCZ15$R;))PF0I$7"1!%=X8Z!1[@Z=@'-T W0 Y(E_RX9:+3/@"9
M*D\44"1<!D6@&3B42^[[2AR#(%6>J*]A?P)%'M _J/H/ ^"N1<NII,#$UWL2
MRSIDX<.DB9$QP 1KI)V1%)@X5/,@595RV,*Q3I <A2E[3"!O3@=F?VV_MHAD
M\9XEE)*4<NED'4*A;ZD@=@BFD<Z3M60=/$F2R2ZI0(!2")R]W40 .O ^;RXY
M!1>1J+3$,L^9O%_9>OPM]2;!$E^45 '#AJL\^0X;^P(K=404-VAT[>[TX'(M
M[-<SE>&<XTDF_LNB(M +9JTN+UN8P$,\ ".RBV33]1$I_P ?;T'IU'IP.A2^
M3\OL:ZG+1VMMLFI@%%RNZRAD#&K-XBDD8G8JW?O9U*.>"X(<1*4#E, E$#=/
M01#4N5\FJIS9T-<<A >+:HK,D7=HQPT//+F;G67:1@A:%DTCH')[8&<F0(H<
M0Z#T'@:.LI960B/S%+7"[/'@MF[@D*A=,<%D.Y9H*ZC4ZB]@28$<MG("@</>
M$@FZ& PD'KP.>3O&33@ GPC,(C\DZ?8>\TH3_&!1N5-V'MO3D$%$UCF%,3 <
MOM& 0ZB7J'-EL]Y-%E>#C!^20%XH@,2:VU?W :%5.1-^#OY/Q1(LD4#@F(@H
M7NZ" " \#ZQUENKI$YWV-GL8J#8ZJ:![57'?N."K=@-3*M5S$3$Z7XP./X?L
M^O ^A+);A<ND5<=R!$46KM=NZ3L5?6([50$OQFA4P<$517>@(]HG "$Z?B$.
MH<#\QMGMKM)%1]CB6BA6[1,DM/UURHW+VB*@K@T>* !B*!V@!!/W#Z@/;Z\#
MBOU]:1CV[PN([P*ZSR);JQHO*F1VV;2+\&3Q^H8T^#8R,*E_J'!"J"J='_M%
M4/\ @X&]<7.R(MA63QC;'"H-7*X-4GM<!8RJ"15$F8&4EB(>^[,;M((G!,!#
M\1B\#A$\D7(7T0T6PG?D4I(8L'3\).DK-(0) RX.C20IV3WC!$%1 5_CD7$?
M<+[8'ZCVAVDMIFQ>(M#4&S)I*H*K&?F<P)F:!DC$+["WMRAW(+*"81*!4S )
M2B/4/3J'=0'J "(=!$ 'H/V=?L_X<#7@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X
M#@. X#@. X#@. X#@. X#@. X'Y$Q2_4P!]/01]1$>X0  ^HB(%'T#[N!^N
MX#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@.
MX#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@.
MX#@. X#@. X#@. X#@. X#@4W[Z3T[&^37PHPC:QST;6;+E3=).:@HIZ]:QD
MY)Q6IME=0B\^V05(QE$8LJK@S9-R10$E3BH0 ,'4 N1'ZC^\>!IP' <!P' <
M!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <
M!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <
M!P' <!P' <!P' ILWV<MC>3SP@Q:Z?0[C,.ZDBBN!NWM4B]/KIT2-U+VF(<'
M7TZ]>O3TX%R? <#A[#/Q%5@)NT6!\A%P-;B)&>G)-T82-8V'B&:TA)R+HX%,
M8C9BR;G54$ $0(4>@"/IP,987S_B;8.+MLSB.VM;?&4BXGHEB>M&L@V;-K&%
M3J5[;HM5'[5I^8L9"G7R(DFSI #MUVK],Q#B/4 #,G<'4"_BZB/0/P'Z?;_U
M=O;]GW\#4.H_0!^HA]!#U#]X<#7H/W#P-.G _)S%3*)SB(% .HB!3&].O3Z%
M QA]?V<#]=>O7]@]!_8/W#^W@?%PX0:-UW;I9-NV:HJN'*ZI@(D@@@0RJRRI
MQ]")I)E$QA'T  X$2KGMW4AU_I6QF!8"7V=H%ZN-)A861Q Y:R+$U/GKFE6;
MADI>3<I"@G4L;QK=_)21P(*ATV!D4P]PY1X&4]=,BVO+V"<494N]3;T2SY%I
M$)<Y&GMG;IZ2O)V)L$I'1JKEZV9NCO$(MRA\@#I$$BXG+T#IP,T<!P.-DYF'
MA4 <S,K&Q#8R[5J#F4?-H]N+E\L#9DV!=VHDD+AXX,":28#WJ''H4!'@<D'K
M] $?40^@_4!Z#_YAP' ^1ET2F$AE2%.!3'$IC !NTG3O,!1]3%)W!W"'4 ZA
MU]1X'T,($#N-U .H!UZ"/J;IT .@#UZB/  8!'M#KW=.O:)1 W3[^@@ ]/V\
M 4P& #!UZ#UZ#T$/H/0?J ?0>!KP' <!P' <!P' <!P' <!P' <!P' <!P'
M<!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P'
M<!P' <!P' <!P' H1\N68%,)[M^&6ZI8LR;F96/SKM@HWQ[AF&:V+)L\^<ZK
MVB&9IUR"?OXEA)(LS3!G+SWG:!46K<R@FZ%$!# &TG]Q;8L#62IUB.\:6VM:
M/,6Z)K$]:=GXQKK_ $F/<2,XSBCL("S$;7B$L$R1NZ^3T4=,F2;?HJJX(B51
M1,+B%MT+2BUDW(:0[J.?RWX@ @RH.-W*DD9VS(Z[X@X97(@_;MSF%)0Y3!T4
M+Z 8H@80_#[<">DFB,<II#ND\2G&#LKMLZQOCI)HW;=YVSEC+'=94% #/$ -
MVI@!RJIF !$O=Z!$?1%;!NL\[+XTP'H#Y ,(0F7+E#NKA)9.HRTKC^*LZ*1Z
MZ2RR$Y,95M#B&BVL.S;(.'3%-1L:/:M"$*)4"%*%<^4X/,6E>6<I9^V0VBEL
MKV#"&1IK/.:LCX4W2?5G)B6K%H6FA88DOOC_ ,J/H_$,756--?I(PKFIOCS"
MLE'I.8XIGBQR'#LFG.N#QUOCLKJI9]SO(=;,#JZ>:N[3:VRMMVSR9%VF2J^4
M%;W 96F[*\*G&S4>^1LS>,3;-E3MC,$TC 9(QS'/P,44[R(9ZP!D2;VMKRNX
MN8/%1@R<CM>:ZZLE+L&6RY/PA66EN+FC>B0S"H9:?M$C1LNLD8V/3=D(67JR
M!UDU0$"G.'8<[^4NWX[JEAWBS\&?*39,6W2V7+"6C\=F*.UVQ_-:[LH]RZQ5
MD^[OD*M<&^T<GFJ!E6C^0CXZ1D6, />BDW9G:KJ*!QV7Y/)DQNM9LC[F9/88
MIUJS/B#4[)U)JN5]L-JL6Z]TZQV6K+Q^?,;XDS-@O]*XML,C"+Q+9XE#V%%D
MXFWCPBZ*R3<5B"'I=UYRSAK)M/\ @8-E9B>HM$2B*K$SSR#O#.!F&#6'9FC'
M-0M5VCVI\C0:<9[)?SE@XD6C@X__ #*BG>/ SH^9(23)Y'N>HMGS5PS< '3J
M9!RD=%8GJ A^-,XA_P >!6;XA,>R6'M'ZO@6;KTK!N, YBV7P\T).P+B"<S<
M#3M@\D(U:U$:N4$47B%GK#IH\!TW S9P*QC)F$!Z\"P/(S;(BU%L3;$+VDQ.
M1CLBEJ+[(43.35'8R/R43&7L$+6)NLS<DR(V]SHBV?M#'4$O50"]W PG2:KN
M2VL%?<Y)S)KY/UALZ,K9HBCX!OM/F99D9J8I6<7.S>Q=S:0RZ#WM4]X8]SWD
M 2"3U 0"4O IVWCUNMF9-E6DMF;7N<V[TZD=8[+C2!Q729JHLK'BO.MIMH*V
M3*#BN6^S55&1E)VBM63&$LC%U^8U99FX!$A ?'6 ,56F&V M&2G##-^*_(UB
MO$E0JV/JWJ_4M2<LP,R9**A(9HWM%EV%LM$O"B\EE+]1,TC-VTN[?0P1"9 Z
MN5UGI!#KXY;\EU*J&9X+,>&=F+C:;YIA^68EMV#(3']A2Q[G%K<-EHRLN+)'
MPMKC21V5Y:A2=$?SSR,(XAR23?M2(B0GJ$-,E4#,.&F6"MJ<V8^RMGO:C*$)
MA+-$_A][&YU@-K<0V_'=8QY#VC".%<WX'A<E8*_25EMD,==[2+4Q@F$T:5='
M?3!RCWMPFKAG4BL/]]GCV=JFY-;P[L)IJ\SXI1\FYPSLT88[V$M.;Y-WDZK3
M3FI9,<5JL7IG4KC%-48=%\HU:L6 _  Q4UE "'O]'(X8W+V+Q?E!SN;0]3:5
MDC'^RV+-KL66/:*\Y'D4LC5DS"P:ZO\ )=<MUF+6L846T50YGR:$%(S,DWD$
M4W;ILB0RZX6P>.3+J^2<H[Y.6UUM&5,?6O:*3R/@_([&1D+?A9;%CS&&*:L>
MD8[MX&/#PDY2[O 2J,[6@!!Q'R2JJHD/[QS@%JW <!P' <!P' <!P' <!P'
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
M$PVR)KU#XPL&049:*4CH483+L--S=1E*_+K*>Q,LP;UUXD\4*!2M7"(IF$1
M>@8@UPWTP/M#=+A1\>JVZ)D()]8%*-)7BOA6H'/U'K$P>M3.7-?94SUVADW%
MC*T(*QZDFV]LR:I"*F1!LX:KKADO638JO[.8\F[[ 5Z;JAZQE7+^';'7K 9J
MK(1EOPSDBR8WL92N&1CM'D<_>U[Y;18@AWMG!.X"G P<"0_ <!P' <!P' <!
MP' <!P*]MJ-3KYF_<#QR;#UF?K$;4]/,BY_M.0869_-@GK%%YAP3/XLB J1F
M+-U'G>1$U(HK.4WAT"F;&,8A^XG:8+"A]1$?O'@:<!P' B;NIN5B?1+!,UG[
M,+6V3%;BI> @&-7Q_"A9K]:IF?D"MDXVI5D'+16;>1L6B\E'9"' R$9'N5QZ
M@F/ [0RVIPO*V2TU.&L;N9EZ=@&I[,S?Y9$2#F.3Q+>CVLE2FFLN")8QV_G
MI4B=%F145Q21 X@!3 / B]C'RMZN98J%3OE4B\ZK5.QX]QIDJ5L9<$Y'E:YC
MN!RS7$K?46N2+-6H2=@:S-#4W*4F];_(6^"P7266,1-4AC!8)5['7KS"U^[4
MVS1=GI]BA6TQ7YJO/VDK 3\7+H-WD=+Q\FT,LW?LUFIBG142/V"4XB/7TZ!V
M?_X?\/NX%<.WOD0C=4<Q4##;K!V1KJXOF/YF_P#\SQ=,*AAJOIQ<ZG )5.4O
MTDUDTC7EXH<SS\N3;&.E'%^08>T>G YJ&W!RK-87K.4X;7FO6T+/(V9093'V
MS6'[%AFH4^LH-55+C>LWS*-3C(I"0=JK,P9,8>3>-EVJOO%(!1$H8 D/+7%%
MU!=[5QVN=^3:);(0>M4:PFK7 'QC8I.3M[2H2.:Z]G+'\?DBNR^M$&X5<KJW
M)"/.W438+ 5 ![1$)UZV9CR+F2$FYV[4C%T!#(N6B=/MV'<]1.?*)>&Q_E!(
MJQT_'TRCN8QS$'22*LBLU.!S*]2'$"CT#M>RF2K'AG7G.F7ZA7V=KLV*\/Y,
MR/ U>077:,;',T>E3=GC(-ZZ:E.Z;-)5[%D0442 5"$.(E 3=.!LM5\QO-BM
M9]?\^/X M6?9HPYCG*#RMI.5'J$$ZO-4B[&O%-WBJ*"KEJR4D!324.0ISI@
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
M.P398]KCRF9&H5@Q'0[/,6>HPK2I64K(U:GJLYL\HG'O6+LB()/.QPV<%23
MH<0;3)Y0<$;*5G%MAK.3-@-A1D++9LI[9UAAE&"O=Y;5^-JE-9Y5K<&R@&<K
MCBI5.$9Q#&(9(I)LV*0F*558ZIE0WNA>KN2=8,<7N"R?=ZQ.S&0<G3>16N/<
M:_K,N$\+L96&AHC^7^&6>1)NQW&/IBKR*6E%6KER1JC(/UB,VK5J5-+@?75#
M5NVZ\9PWVNTE/1<O0]I=D:WG^@L&SV1<S5=<.,+XVH5XBII!VU09LDUK11#N
M6A6RBQ3MW'4X@?J4 AMB'P\&Q,>7ND)M3EI/,<7?LYV;"\S88^K96Q#A"#RM
MERSY4A(^BX2R?$3=>@IZ <SY$'DO&N(^5?E(=/Y1$#%3($T)+2B,M<KF2W7+
M+.1!R#L#JI5M6LKVJDKQ5+0E&U8)=O8RG589!C(ITR_'4R#) G["RS-!$R1
M3,*0&$,.U'Q>TW'<EIW,U'8K920D-+99B&-4+]<JY<8A_37-)<XYNE,E(X]5
MBBMV%PIKD&IE$#E^$9%)1!,IR%$ Y6B:+9JP^MEHF%]V\ET&"RKG[)>=SU)_
MBC"UZK]4<Y3F6\]8JI7%+)6!G48HDN#APBJJ\44*L[.(DZ!T$+)FJ:J39LDN
MJ*ZZ;=%-9<Q2$,LL1(I553%3 $RF4. F$"_A 1]/3@??@. X#@. X#@. X#@
M:AZB ?>/ IFO7ENL=9R/<*35M',YY'@H_:&U:6X\N\!?L*1:61=DJK5'EJ7J
MIJA9;O$VNI5-\QCG"Z$Z[0.W-'("\,F5,R95 M7Q/8[S;\9T2T9-Q\7%&0Y^
MK0\K=<9EL\?=2T2RO&::TM5BVZ);,XVR!#/#&1^:@BDDX[>\I"@/0 R#P' <
M")>T6D.NFY;O$Z^PU3G;FUPK99RXT**C;Y=Z3',;3/09ZTZG'X4B>KSR3?-H
M)PX:MQ56$J2#QR3M$BZA3!%.#\0F#\>6M:]80S=M/AFSH8:JFOD $!EY2UU:
M"PS3WEC=1&/U:7D6&ML!9X9F2T.$F9Y=-\ZBR)H@Q6; 0P*!O<&>*>AZ[L'=
M<Q9LIM)5*3(8?Q)AB6K,3=ZHW/-0V&:]-52LVA[.J4EQ,-+J^K4NDP>R+)1J
MNLVCVI0$GLI]H6&XAQ/0L$XPHN'<70+>L8]QQ6HRIU&!;&,=..AHEN1NW3.L
MIU6=.ENT5%UU!,JNL<RAQ$QA'@9&X& <RX4LV39*MV"FY[R[A"P5I!^T V/W
M%2E*O9&4BJU540N-(O58M-=G56@MNC5P":#EN554I5.AQ#@1:C?'S(5##&4L
M8T/8JW_J'.&8+=FK,5LRIC+$68*O?[%>(J)B+%6G>'+#5F&.:_C]XG LUAC(
MILRZN2K+"H*SA4Y@Z#K3XV<B:V4[($/3=P+K4I&\65K.L*3C'%.,:GK/CQHS
M:+MEX?&>N=C87NMTIK;552N9P&#YLB[<E]Q!)H<RACAD+5'26]8:SED/8/*%
M]QHZN%PJYZ.6G:XXQD<$XALK U@0LW\R\HX\<W2\LK9G,'B:C,DZBNU!*,64
M0]M05.\ GM>:=!9%I5PQ]:6ZSJLWNK6&FV-JV<K,G#F!M$0[A)=N@\;F(X:+
M+1[Y0I54Q Z9A Q1 0#@0'P5XQ,0ZVQ--I^'<Z[EU?%]")&-JWB!SLU>;+C=
MC%Q2:J*$"E%6D9F4:UY1%0"&8-WJ+4A2$!,A.T.!F"B:1X;H6>7NQ#=:V6N_
M26O>,];Y)?(4PA>!DZ?B>TVFV5.PRDO/L'5DD[L#^W.R.GZ[Q07).PQB^X7O
M$,_4^JVROV7(TG.7Q[::[:)^)DJ)4UX*#B&.,8-C6(B&?5F*>122;Z=:RDXP
M<2AG#X3+IJ/#(DZ))D#@9#X%;^3/&;C&ZYFS-G.@YMV4UUN&RC&E1NQJ."\A
M0T#&Y@:X]AEJS55I8+34K?(565CZLY6C?EP#B*6,V5$>H*_Q>!U/"WAC\>N!
M'[*4Q]B"PM)&)D<?R4(]<99RHBO#GQC!UF$J;1'\GN$2E)QR0U5N]=H2!7I'
MS]191?O*?L +2CE*H!BJ%*<I@$#%,'4I@, @8!#Z" @/3@03U,\;NI^D%ZRU
MD'6ZFV2AS&;7ZLED")_7UOE:9(.A?A(LE6-(D)5:JQ+B'6.N1FX0:$<H(.UT
M04%)3L )W<!P' <!P' <!P' <!P' <!P' <!P' <!P-!Z]![?KT'I^_[/O\
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
MLTZ;%Q+5O *(23A9PXDBN8XI%1<**'.N)Q4,81,(\#*7 <!P' <!P' <!P'
M<!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P'
M<!P' <!P' T,8"E$P_8'[?\ @'H CU$?N 1X%#$%Y6$FUKJN>LQYUQ;BC62Q
MM+ V>X KV%<BY5RYCFN.<@S.,\=97SYFFMS!JWA23L-TB%6[NO2$ JFW /AI
MKJNT7*Q D5N/NCDW'V;U\"XKR9K'KK^B,(P^R60,W;>?GIZ%.4=]<IJHJ4W'
M\/%6:A@_DXLT(+F<E#2BH12;YDD#111R4P!@W'OE2S1FV*K)<=XLP%C"7K>#
M:IL#G"Q[0YAM6*<<JT2VSM]@ZY(8(63H#^YWRK6AE0C3(6-_',F$5'2C!)=%
M9VN9),.^XOW&NV\>2="H#'<%D+!8/* OO)L=6Y"55;/8[$YT[IBC#V*)IVV:
M12T]%YER ^/968K,VA'4#606503.N1,H8CRGO]L1 :0>6J_M;M18//FD.T>3
M\;TEXUKT,!*IB5I.XRL>,9RZ5F6>OVBII+&MR<*'D')2).TDC."$#L$H!W3R
MM[(;9X>J)[EA";R11< 5O6+-V<++G;!F%:QL%9'>4Z)#0<QC7'4FTGQDX"BX
MRGHI1]+2%A58.$G#=L+8KEF ^\(68:A7S(^4M5]<LF9?)7D,HY$P=BR\W]M4
MD'#6M(6JV4N'GI<L,V=G5<MF1G3\1*D<YO:$1* B !P)%\!P' <!P' <!P'
M<!P' <!P' <!P' <!P' <!P' <!P*-?)1Y%_&?CJE9S:99K&-=K<\Z8HUG+L
MKKDXK3Q]?:O*56S0$K"3J5@EJ-.0]12AG3U*0(Z6/\%P"7MF$_N=HA;7@?,E
M'SYBFEY7QNY?O*7<8)C+P+J1K\U6%56;A A@!*(L$5"2:35 _5-)06R:2Y"
MHD)DC%,(9?X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@.!
MKT].OV=>G TX#@. X#@. X#@. X#@. X#@. X#@. X#@.!H8H& 2F #%,'02
MF ! 0^X0'T$.!#Z1\?ND\OGP=H936##;[/*B;;Y&17%+BC23Z08RCB9C[))Q
MX)!!2ETCI%VH=O..&JLPB!Q*1R!?3@9FRQ@'!>>6<-'YOPWB[+[*NO1DJ^VR
M90ZQ=TH*0,=LH=Y#EL<9(_ECE4[)'O.CV"?VR]W4 #@?6]X'P=E)>K.<FX;Q
M7D5Q1UQ<TM:]8^JEM4J3@4T4O>K1IZ)?C"* FW3 !;>WT]LG3_*7H&PK& \;
M5#-F4-@X6,?IY-R_4\<4>YRCB5>.F"E7Q3^I!IL5$1"IQ8PR+):VOU5?8*47
M"J_<?J(!T#ZRVON$)^'R] S6*,?R<1GXQS9NCW55ASMLK]\*VK7_ .GZ16I0
MLYBUUDBQ SKW#?&3*3KT#@=@M6+L=W/&$_A*Q5>&=XNMM!F<6R]&23+'P[O'
M\U7%ZI*U9JU8G;&9Q:E;=':@1N*8I(B'8)>@#P/AA[%5&P;BS'^'L91Z\3CO
M&M2A*=28IQ+24\M'5F#9)LHAF:9F';^4D@09I%*"JZZJA@ .IAX&2. X#@.
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
M67W#&5=5KOE.:LN++BB]QU%,U29+P4:S)5I="5[YMK&/F9'+UZ "IP/3IP'
M<!P' <!P' <!P,?97J07S&EZI_Z<H]O4L55FXIK5\F1AYG'<\^=,%B1\;=HM
M)J\</:RN^]OY9$4SK>T BF'>!>!65JGXV;S@?.<#GQSE;&V,R,JO*UFPX'UA
MQ %,QG>V<F0%H]ID>]Y/L&1\LV]A1I,QW$ V:/8)@P456,1H4'"Q#!;J'7H'
M4>H]/4>G3J/W]/LZ\#7@. X#@. X#@. X'X4$Q4SF(7N.4AA*7Z=Q@ 1 O[Q
M'@>7_;3R 93QSL#E6:L&6L8FR=@O>;!6"<#>.R\8SJLW9\PX7R._Q% N=B<;
M3;R-_FHKE)XWR7,3,=,0;HT-$QT$NP<H=ZJRB8>H, Z!TZ]>GIU]!Z]/M]/3
MJ/ <!P' <!P' <!P' <!P' <"@/RW2"L=Y%/ 0LF<PE5W4S(Q,W$1!-0)/"*
ML8+@W:'?[C9)Z?M_Z?QCU].!?YP' <!P' <!P' <!P' <!P' <!P' <!P.'F
MPL MFWZ<-#E>!)QPO/SHCP[8T,#HGYN5M\%1-4LF++N^,)NJ0+=.\!+UX',<
M!P' <!P' JJ\J%>P*PJF ,[Y8W,8:*9"UXRV_MV!\VR85&98.K59J18:?<,?
MO\>W(Q8W),?<Z'*/4%8U(2.B]I54SE$GJ$:_!!L7KAE/%.<<=XF?9A7RVURI
M);,9SE,\L<>P=[RO+;9@&2J]G>!K^+YB7ID/C[($*1(L>P:F35B/C"S=)E=$
M5ZA?3P' ^:R*3A)1!=)-9%9,Z2J*I"J)*I*$,FHFHF<!(HFH0PE,40$! >@\
M#I=!QCC7%,4Y@L78\HN-H1Z]/)/(>@5&OTZ+=2*I"IJOW,?78^-:+O5"$ IE
M3$%00  $?3@=W        #Z  = #]P!P-> X#@. X#@.!1SN#5M.->=W,0Y6
MING^2]BO(IFV9MV9ZFUPC+UNN7U6A8@QG!XBR1*V:WWNW5"MM\:!4+3',E:V
ML[5;S4NHBHFV^23WBAG3P^8LUHQMJ6ZE-1LK90R3A#*67\I9/AH'*[YHM/X3
ML]BL)VM^P8VB6\9&.:FVQU<HEXU<Q3@%E6TD+D_NJ KWF"U+@. X#@.!T+*4
M2_G\<WB"C:73\C.YJJ3L4C0<@.RL:/<C/XY=K^FK<\/"68C>N3(*B@\,,<^
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
M)O)>!Y3+]83JD%M+@^ LCNH269,'/#NUCV&LM; P5*JW4*F\3:&3<B3V3B)
M[KNCY1<7:79[UWUGE\'[(9US+LY%7B:QI3\ T*'MKQVQH#<KF=!PM.VBKLRN
M4&XBLH0JHE;M2BLL8A!+W!DG43R)Z];D3-TH-+2R1BS.>,V[5]DO7#8*@3&(
M\ZTB(D%@;QEC?TN=]Q.9J<HL8I4):*=/X\QSE(94BA@)P)V<#S=;K8)AL;[X
MX2QKA/0W8_+,/NOD&[Y-VCS51-J<IXYI<:W@J:_82[EBBTS- 1E3M5>>*P;T
MP+M6;5U$MPCXPJSD2)HAZ.(UBWBXYA%M 6!I&LVT>U!RX7=N/C,D2-D!<.W9
MU73I84D@[E%3&4.;J)A$PB/ WO <!P' <!P' <!P' <!P' <!P' <#0Q0, E
M, " _4!^GW^O I!R+IMN3E?)-VE,08VT8\=S*:FK'&FV@Q-26.8MV).LJRQ!
M_/*G)*47&^/*'8+Q')G%X=\ZGS(IN#)*%5./> 7 8MIT[0,>U"FV?(ELRS8*
MY 1T1+Y'O*%>:VVY/V:/MKS\^WJ</ 5Q&2?&]5"LV3='T#\(CU,(=_X#@. X
M#@. X#@. X#@?D2E-_F#K]/K^SKT_P"(=1X'ZX#@. X#@>8#S*X7\8TINSKG
MG?9?R3Y-\>FX-%QNZCL26JFV1.$(M11G)M(LRQ<3=3G("#=?F,U(-'#@KM#Y
M+=02*I_A*IP,0DRGG[5K</QOXZTW\K.2_);%;59'1CLS8/R_-8[S8WB-9ET/
MSNP;'M+SCZ.2GL=,*PD!6;5=\X3;NG*Y$^Q3L.EP/6[]_P"\?\.H]/\ RX%>
M/EC1SX]\<>X,/K%C1/,&;;+A>S5&H8Z.Q;RJMB;VXK>MVH&,,Z7;H3<I%T^3
M?O6K+N$[MPW(D0BAS 0P>0G"^F-/?Y)\?-M\5]8\FDIMOK#/8NJ>4KMM10+Q
M$:G8TA3F9PVPY+.OL,QBR5MW^1#+Q#.&H;95FH<B94P R::YP]0/F6\HV./&
M/K3*SZ,DP=;,Y@B[-5=:*.K&OI87]P81;=.2R/:&[!)=9CC3$[.31E)MP(=5
M$2%;IE,=7T#I/APS#HE4<91F@FM>T-6VIS?B>A!GS9+(5(0G[%5[AD7-=D5L
MU_OR]]+%%I:S^VWBQ.%4(E%X9\T8]A54$Q3. !=@T9M&#=%HQ:-F35N3VD&S
M1!)LW03[N[VT442$22)W#UZ%  Z^O AAN)K-GG8M+'Z6$]X,V::A4I)^\LYL
M/T[$UK-D-F\*V!NQESY+J\^K%J18MS"@=L<$3 N?WD51 @D#*67IZ PCK%?[
M#DG)-\2@\987L3JW9A:UEM<,F-F==J*Z<MD9O5*I4GK"?N: H&DBLV,&HV6>
M!VD9BE_"X'DM\4A*SG_RC4C;+QX9BW>VDQZ%*ON.?(CMYO+!0Z5+OU::PC=]
MB"@8#&2A8"XPEP0MB+188YFS9,(R&;&]Q,"JB0X23\HF!M;M9?(7<-_\M^96
MY^/K,&=,%0N*\;5&KXRI%YLJ%!H[>*1L@0S:>KMVE'U9D;%$M7BHM6+-R5XN
MLD#DQ5.S@9R\%>[6W^U>4=H*/>\V0V\VFV*&%,:8@WT_DVOK[,W[)#YDT<6?
M&QZ*:(A65M"O-'"AWTDDT;F9.D"$.947( B'I3  #Z>G[O\ Q]>!X5MJ*=I-
MBKSQ^00-^]9MM<N8MSEAW7W)&*)["]6V!L#!O*Q=3BX.[NG\9KO9H22EJFXD
M6"K1)P^1=?$=LU4C$2!0%#A8]XU-T/#CB':=IKOH5J'M1B2Y;(%@8>?R5-:Z
M9UA,?.'4%&2CZNP-DF<G3\A/U5F@B@NM\G\J0C#++G55<B)CF /47P/.C_<9
MVN=KN,/'"U:1,O,5:1\JFH<A>6<>S6<,%82L6AY.-DIIPBU=@Q:*R*"8)G4
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
M^* 63<!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P' <!P'
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
MF$F5F)SMEDUS <"F#UZ=1":O <!P' <!P' <!P' <!P' <!P' <!P' <!P'
M<!P' <!P' <!P' <!P' <!P' <#%N<<306>\+Y:P=:96Q0=8S%C>ZXOL<Q49
M!.)M,; WNNR%9F'E>E%6SQ*/F$8Z34%NL9)0$E>ANT>G3@55_P"PMHC$XII>
M(* [V1QE5Z!9<472M,Z=LYFI&!:W+$-@A;' VP] E+C)XW"?DI&',=VX2B$1
M(HZ54; W5!(Z82(L/B^P*^R)D/(M"R5M3@-;,-PD,@9>IFOFRF2\5XZR/>)E
M'X\];)FH0THHSAIVP)^K]Q"GBU'BO\943+=5.!S^;/'AAK('CUR;XZ<6)GP7
MB2\XLL&,X)[5$591Y4!L$BM/.[&)9E\N]L4D^LCA5](G=NC.9%9PL91;W%!/
MP)<8DHTGCK%&-L=6*W2V1YFBT:IU*7O=D09)S5UE*U",8EY;)AJQ128(24^[
M9F>*II$ B:BHE+].HAMLOX<H&<\89(P_D2(5?T?+5+G,>WMG%2#^O2LO4K'%
MNX:5C$;!!.8^<C3JQS]5--9NNFLAWB*9BCZ\"FO.?C$\:FGFN&1I&U9,V<UV
MU B:V5*XX(QUMCGZM8>G72@(MF;&O8^@K>YLCV\6Z7(@5".@W*2LQ*'+_IU3
MJ* 8.S:M^/;"VP,7K;M7E&S>12TP^,IZ,RIKEKKO3E1R[>X<M57/-050R%+4
MA@8UA4M3FON3*QY;#+/W:3%V3Y*0*F$A DQN)4?&WM_8L<Z[[2Y4Q-,9 QYD
M1AD2@XU1V''&638F^)0\S -%F[2EWVI7<CQS$3#M'X?N$.L0X_@'MX':<?Z!
MX1P1:Z[D>MY@VNC(RA2/ZA)4KKM_G>YXG/\ "KSN 0_5%2R#?)Z&?0L7&NC'
M32=']A%8J:ANHD+T#G<A^0?6VMXSR=DC%=[J^SBV').HL<BT/76Y4[)U]K;6
MTW6$I2LQ(5Z!G7+E",KJTR+U\80$X,V;CVRJ*$ @AL;%H/5;5)3TO+;.;VI.
M9^7<S8(0&X&7JE%02KMXL^(RKL-4IB#AHZ)9>^"2#<6YR$13('J("(A +(@;
M):_[LZMZWZ:;;9LV#D[+9X^R[58.V67BLSTC#VL(?F;N;RA/9Q1KL9E#'5_L
M*K0(ZEQ$C+2@6!YWF^,5JW6<)AFWS$3>7X?&6G$+B'8')FNDQE+R':H89MUT
MQC)1D7,O:)D:>G8FS0SA>5B9MI\=RFD0Y"G140463(5=-9+N3$+<8UFI'1S"
M/6D'TLJQ9-6:LK)F;&DI-1LB1$\A(&9-6+(SYX8GN*BBBBD*AA["$+T* ;W@
M. X'6D[C4UK6ZHB-D@E;JQAF]C?5%.68&LK.NO':L>SGW,&#C\S2A'<@@=NF
MZ%+V#KD,F!N\!+P/FO>*8VKTA;EK96B52)9R<C*V49V*_((N.A?G!,2$A, [
M_+V3&*_+'/R5E%"IH?'4]P2]AN@<O!S,19H6)L=>DV$Y7Y^,834'-13M!_%S
M$/*-4GT9*1KUL=1N]CY!DN19!9,QB*I'*8HB @/ ^ V*OEFRUD9V&_4AV*TF
M2O!*,1G5(YN=%-P^3B <?F!V:*CA,IE03$A3*% 1ZF#J&XBY>*G(YK+PTG'R
MT4]*8[22C'K60CW)2*'1.+=ZS56:K@19,Q#"0X@!BB'U >!R7:/W#_AP-/\
MV#T']X?4/W\#02E-_F !Z>H=0Z]!Z"'4/N'H/3]P\#7@.!P5HG!K-;G[&$1-
MV$8&'DI@("LL2R=CG#1S15V6(K\:==L20FY(4O9:H"HF"JYRE$Q0'J :UF:-
M9*[!6 \3,0!YN(C98\%8698^P0AY%D@\/$3K JS@K&9C3+"BZ1!0X)+$,4#&
MZ=1#G.!U9>ZU=M=(['B\J1.Y2U;E;=&PHMG@G=UZ$D(R*E9$CPK<T>0&;^9:
MIBD=8JQO= Q2&*!A .T"(!]1 /W_ +/4?_+@?A55)!)1==1-%%%,ZJRRIRII
M)))E$ZBBBAQ*1--,A1$QA$   ZCP*?\ =K;G*M4SEHE$83S[A?%&LN;IC*PY
M)V%N%?ALF8HLEFIJ5->T;"DC=VMLK\+CU/*D*O9$H^:0D17&8CD6Z93'Z(.
MP%XY:E.UGR&;4N+?NB?:2OUVG3&&]9TEBT^VSD=B&*NL/DNVT6[Y8K;MW9;C
M=M=+G; @GJMB$Z@,YZ/,BN=99TD0/0#P' <"B7^XIP1@G)_C"V"R/E"2A*-D
M/7JOGSAK_E)1^QK]KK&:<?I'DJ1#5J<4!*0<NKD\$8HK!(Y_>5=D4*4#I$.0
M)\^-',^2-B?']IUG++XIJY/RCKWC2XWATDR-')R-AEJ\U5?2P,CB(MSS!P!T
M8H?@ZK=2@!1 .!Y"<Z:D;$;0_P!PKY0+SI;F9;#.W6IV*=>,S:^/9!VQ+4;M
M<!QKC"IVFAW=)W'2B;FJV^HOW,<J51,S8%UT@<@"8BHF%W^"/[@W6QWH-DG9
MS:*/F,.9WUFM#?!.R>M"<<!\B(;,-"GBB4;&T"J\7=6*,O<\S7/&K]PD8HI.
M"NSE^(JH(4,YOT[S!4MN_$'Y*-U)"5D=T-Z?*=@V3D,=EG'B=?UIP*BM 3^*
M\#0K$QA8JS-28@@:95!(@&<G,W H* LLN'NVS%E&L84Q-DS,MR= UI^+*';<
MAV5U[B:8D@Z=!OYZ2]LZHE3!51LP,0G<(!WF#@>.;4WQW8)\K&@FQ.YVXV0\
M=4#=CR+95DL_X7RT6WUV$NNM<+C!^[J.M%=J:I9)%_$1$9&P@_F;9N8KAY'N
MTRG-\E%-0@7+^#;R03FZ.$K_ (#SLM%M]SM&[23 >Q81-@C['#Y"=5I60KL%
MF>KRK%98LG#W52O."/%2F4($F@J<# FX1#@6);OZ5X#W_P!=;UK7L36"S]*M
MS(AF,HR2;DM=(LC14KF#N-)E56ZZ\/8XA\D0R:B?HLF)D%2G15.0P?SQ]A]V
M,]1>1L/^%K=W*;O:W1S5S;JCXXR%EG6Z/6E\Q[%5:LEC1QA@.[6&RVZO5%PY
MA)=ZG'RB9WWYB5PU4,)W:D>@J8/Z85"K55IE*JM1HU5CZ-3JU7XF$K--BHIK
M!QU6A8]B@WCX%I#LBE9QJ46V(5'V4NI""40 1^HAV[@. X#@. X#@. X#@.!
MIU#U_9]>GKT^WUZ?3TX#J'40^T  1]!^ANO0>O3H/7IP-?H'4>O3J =>@].H
M].G3[_KP.E9$R/0,14JR9(RE<ZSCV@4^+7F[3<KA,,8"MU^);"4JK^6EY%9!
MDR;%.<"@8YP[CF H=3" "&)-8]OM:-S:3+9'U;S)3<VT6!LTC39BRTIXX=,(
MZSQ239P]AW17C5DZ3<%:O45DS>W[2R"I%$C'(8!X$D.!QL@Y<?%D$(A1BK.)
ML'"S!H[5-[(NQ2,#(7R: BZ38G="0%#%#KV=>WUX&PJ7ZJ"JUT;V:OFNH048
M-N-4TI)*KC8P9(C-#749=9S+$A?G^Y\8KDYU_9[>\1-UX'/%43.82%.4Q@*!
MA H@/0INH (]/0.HA]O AGKWO1A_9'8G<#6*EQMRA\F:5W&CU#*"-KC(Z.C9
ML<@5Q>QP%AI*S25D'4G7U$FBR!U7*+10%2 ()B0Y3"$S0,41, #U$HE P!ZB
M43  EZ_=U >!^N!MW+MJS*0[MR@U(HH1%,[A4B)#K*& B:0'4$I?<5.8"E#K
MU,8>@=1].!]BF*<I3D,!B& #%,40$IBB'4#%$/02B'T'[>!^N!H @/7I]@]!
M_8(?4/WAP-?V>OW_ $'IT'KT]>G3[.!\U%4D2"HLHFDF7IW'5.5,A>H] [CF
M$"AU'T#J/J/ ^G_C_P NO_(>!H80*'4P] _;]WWC]P?M'TX&O <#3N+W 7KT
M,)>X"CZ")?0.O3Z].H\"&VVN[..M/+!JU7;_ %2^61SMCL=4]9Z.[IK"(=1]
M<N5OBIF7CYBX.)>8B/AU]-M!J@;XH.G9S>B:)^AN@3*_?]> _P#A_CZ!_B/
M!U'[#?\ $I@__& .G T*8# !BCU >O0>@A]!$!]#  AZAP-JF_8JKJM4GK51
MT@H"2[8BZ9ET5!("@$52 1.F8R8]P=0#J'J'7@;O@: /<'4.HAU$.O0>G4!Z
M#Z].@^O =0Z]O_4("( 'J/0.G4>@>O0!$. [@[>[K^'IW=?_ +'IUZ_NZ<"N
M?R#:BY+V?1UFR+@RXX\@\RZA[ Q>?\>U[,,9/SF&\A2C*JV*I/ZE?FM8<%FH
M<PL+)\N+FFJ#QU#R#=-9-!3N'H%8^+- /,)+Y089<REM95,3Y/N-ERVXSW<Z
M%GG,69,9VG'5FB+1$8VQ9B#5FXX\I^,\1M,>G?Q+IG849)2=*O&'.J9<SI8O
M W= T+VPQQJZ&E=<\=7CG=Q\O17E(O\ LCD/,]FO[#(5H=1BS5_F^XTQW@!/
M,-NN\U).U9$47MB!TW>G]M-^FDFFJ =6VGQIF;&N-_''J'G-NEFS%^'\Y8TQ
MW)8QF\QU-;*OE(JV/-=[*Z?/(ZE6%Y68EFIBW)#=I,KU*PSJZ,]'L2"LX.L1
M%%8)-%UIR?F3.VE-ZPUHI6_'Q3=:,NC>+7D&5LN(*MD&S8B=UNS1MKU[KV+M
M=)"SQ<C5LDRTNT<2);#*-V+([(KE%NHZ # %Z8 (EZ?B_P H!W=HA]2_4.H=
M.!6E:/'M:H')FP>6-8-K<E:\V':&P(7',E?D*;0LPTJ=N2%2AJ$G8XA*WQS.
M[U95O48)NW;-&,ZG'LURBLBW()E"G#SFO] =MO'UDN@V_=?RH9XDM"<<[^:_
MI:=T2<K,1LMEG)&79YZX3Q_-9%E+2P40QQ6DI>7EFKA-%5V8")E<E2;KIM3\
M#UI9QVSP5KK?=?,9Y8MZL!=MI<E*XFPE!-8.;FW5MN;:+/,/6J@P[!ZG#QL>
MQ!,5WKLR+9(RR8&/U,' D< ]0 ?0>H /4!ZAZ_</VAP!C%(43&$"E*'4QA]
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
ME.0Z?!X1SE+S,@O;M[27.G7EV[I[S&R4Y%N+G4W5LA(]Y3HM5>OR3MZ\J/\
M^%7J8.3*G$J(<#J7CUN_A>U.UPVPVLT!VCDFV$*',XW:;%Y)RK/; 9/K-.AX
MF04>P5"J-2R VAI5J_D8F:79QPQ#5VZ!==L"GR 3(B(=$OV O[<387"4_P"4
M^T*5!/6*?RZT<Y E49K8"DX(M.84)]E&.5+MKA&&@(66N\M(NBHN')H XKE<
M"L8JA>IN!/K:K8'PPY1\<F+K7L[;L-R'CQO,_3(+%:K-I=6%'"?H#B24IL-4
MH_'\.RM4&I!#47**:*;9H1-!%1%0/;,)3!A_<[:OPXZJ99P#OQFFTX+HF=<G
M8,04U@S6^Q#D7(N0)_&X-(T[B59(5-F<ZS1M4+$W:1PR16+]J#\R9%RD543*
M'6L0;!>*RI>27'6W&.]JW6,<]>4+73$ZIM8YME8T&.96MQ""7P+E>8@8Z#>1
M=&R.K"0+J*ZR+\".4EA I4U05,N%FDIOSH3D_9JY^-R8RW2+IL:ZK<XQO.O4
MG 3<H#VOK5%*PS\'-/'L$>D/#.:;)@X68'>G64;*"'MB/4 #S)NM?/[5UEM1
M/4$SW7YEDK#%\=UB1I&3\Y9@B<?UR3K,P^)8*=&P&6;0QQ=--(FSHJD3B8]5
MRQ _NE%%0BBA>!<O/9V\,?DSQ/>C9&MVN&S&N.ESBOWJ6AY6NV-I4\(R%4KU
MT9/IV6<>S'U^9K#FJ0[@K1JS058JLFIRG*N0Z(%#&>H4=_;X:R4+)WDZTW9Z
MW8RQK69E[C7(NQ40WR G$T]>16B6\A3JM$V5)9S6%+"^F8Q$$(B/2(_!<B1
M4_R %<;2/_MWLI91V9\B>2MM[/;-=<UYZC*UE'$-PR5F&,U@MNQZ]>6M4=-S
M6)&5/J\]?'TK4&[EXBRDDY6":)(+#T_"0I ]$^2?(EXY=+*?K16<C9UQ5@2B
M9PID4XUIA3Q<K#5:>Q^R85HD*O7&T'7UHVN5MO'6:,*B+P&2*9'!0'IVG[0I
M&_N2?)GCO6ZP::X 99KFZG<&NR>N^R61JUBM*V)91;X:I%UL0S+]67:JQ-)>
M5F?1C7+<L,XD/ER+ML4!3*@!CF"*_F$F-/=U]H]+\;U/9S"6O%_H>P./\ZYD
ML%DN-1UQSMBS%V2\8-;LUGH62N\"C^HKXTB31,D#4[UVM'N_;1% >Y0Q GKX
MM-ML\Y*V2NN#V?F5U0WOPA@J%F+E*HM,(R"&R-EQL0SN-6D+ADZ(?UW&!%*5
M-O(U(TM%DGB2 +*"MV?A$ D9D+:[QC>7;1K>C",SMY!90PS1ZB]L&=\@TFFW
M+%ZF):6SL+V_4J8:.K=7W[68?53^7IE#/6A'J<@1H8QVQ4UP1$*NL@:O^!S+
MNEUYW5UUS-D76+7W#24!B;(FR&H-LS3@^5E[+!HT2"[KK0$*^XALD6APYL$<
M4SDE=4<KGD"&%0PB)BA(G:3)/A^RQXJ=,[OL9GO)5UTMI\_5X+#NR-\B+[9=
MB+!<J#*R=-7^-:4:<TRQ6[E;2UV6"1EF;:/<$:Q)5VXE( %,&-Y6A>!S0[%>
MO6\4OFZZ-Y;/<=3G^L^U69T<G[G7-U%P\F2Q3"%'IF8*YD>(QM)O&#=6/D'8
MP[!PP 2^P=)V4H@$\MX<S^)W%?D%T)V6VTN;^,V,NF+;1C76^!>4^R6VM6&K
MY7DZZ2+D+95FM'G_ ,KD6DE;!:Q;MTYCRMEI!S[B9Q3$Z(;B5R_XY,,^<]!C
M,7O(D'Y!LQ:MT#7NJXQ:5N3?8M/CHTQ:<F,/9D8*N.8R.O+Y>M=JAY%^+=)@
MBW*@1,%#&,%+BT#_ &[MSVDSSC? $KG_ &LV*N67+I;%-'J'D;8!WK[LKFD9
M=S-3<"E'HM(O$%@B"3A5U%)&4E K;"-:J.5U#MT.TX3'\>N3-6-P<Z7>7SAG
M9[8;]XPXG(,Y-:,8EQ0QI'CXUBK$#(S-9+"5:'F*JD?.M_Q1(P2H(75RHR[G
MK07#!LBS @G"?&'_ #(:3;5X&S_NMA#,>PKW$FF[M/)^9*X>BI51P2&9X]M*
MC?&B,;/1YT)F L[9@>7.F@^*X_-&C0H.4BF%L<(&6W^\>\8D!'TES7*5LO>7
ML[*';7"+:8_B*\]H<40H $@L>=LJ3"RNEU1 B;=FL'</43'3Z!W!8OM9Y\=
M=7=;-4MB<E6#, 4?=FJC<<.L:-2F[_(C"GIQ\1(25GLT*YFFR=>0B1G6S<X%
M5<J*N#F(B54"',4.R>07S@:/^.JWX/QQG]_EIQ:<\5%A?:@EC2HQ=@5AZN\E
MXZ'82EM_,;#$+PHR#QTI[1 26%0C9?Z"4"F#9[ >=G3_ %YW^P]XYK'6\QVG
M.&89'%<1&2],J\))4: E<T+1X4!I,2;VQQ\FL+UK*MW+D[-HY*U05*/4YNI0
M#DZ7YS]*+]Y K]XWJTVS+(YZQL^O419):/QV>9H)9;'$(,W;XZ.?P,I*6B05
MC"H+-S>U$B47+<X"($#W.!UC53SY:4;;Y;VRQ30X[*-80TYK-]NF5,A7B'JL
M917=8Q_:C5.4DZN_C+9*R$J>1=(JN&:9FZ1EVJ8F >\2IB%7UB_NB]-8G!U_
MWSH.,MJ++7J[F2/U/IN#I>S4^F4NS34W55\H*9+&$C$IR/@W(P\*=([F1.Y?
M)]!1;E*"J_ R?G+S/:U[S>);)6\M#S!NEI91<&Y?I-4O#W",IBVMYUL-U=H5
MEL;&%2EI_P#5<#,5Z0<Y"0<G.=-BN\2BE%.PB:9R\"G?4?RIZGZ0Y-R#O%OU
MF7-F\N2\KX[Q9-Z *97@H2Z[%T'7"PY)RW7IX"J-7A<28LMZ3VA(O[!\!5B[
M=>^V1056Z*AP/3%NEY_].M*JSIK9;%4\MY24W?IC+(.*:UBV/J,I:H^L3#.L
MJP2UFC9.UQC9K*2TG:T&!&R3A42NT7!!.(I#U"<NG^]&+]PKOLG5,:7S'5T)
MK_?JS3YE&BRSF;=P*EAI,5.K0MNEDQ5K;RW0-H"5C)!.'</&;-9C[1EC+%/P
M)U\!P' \\^XS@<9>1.WY+H/E=TZU.R1DS >(L+W+&6>Z'2[1D_'>,ZW<Y:X,
M;+BM]+Y-JS*/F[O)VJ1'I8&#N-,H9LJ+9<&Q!,&5Y'RL8FH6=-<:);]V]'K?
MCB?1V3D=@KQ7,AT^&K]6K-90@S:_IH24AD&4(QO$TYE2M9%HD55"3,F[<($;
MHH)D$*PMHT_';E/#FZF'JYYF].:"XVAW?Q_O!BYV]N5;F&.(YZMML=)WFNO$
M*OD>MS<\A>7]-<F47:R,8JBB][ Z]#B<."J^W-/PAF^PWK&_G2\1]>DKUA37
M7&V3)&>Q1)6"1G9'!*5M813N!9L\[LV57B7%0M@(%2=RLPX5= 9812_R<";4
M=Y?]/;ADV+Q]FORC^/G(6KLQJK;Z)L#%QCU:ISN0,XV>SC#!)TPZLU)I5S'R
MF-7J[9XT.^>F.Y5(9(_=[BA J$/3?#<A;X<]N\]M03KF'<%9 URUTF,0059Q
M]G"C8DN%8E:A3J#DG8&D1\A.YSH^,X"8<(MHE^B@WD#=BKX3J=3&#N5LKO@=
M?3U72PAY?,(89@$,?05?R+6+SC;'&R\-=\B03)BR;9AB)#:>G7]ICFY6>(:
MWGD8SL;2R;1F"B11:D$0W'D*R'X8L_\ CBP1XQ<6^26OLXC&T\TFZ#GF=:99
MS O4[12RSLH0<A,:'4V,.]B+G^IY".3$SABA"%,D5FD;L(EP*EJSC75_+N&\
M]Z_[$;GXNWRS_D&HUIAACR!W2H[=7>KZ94+&I2D3Q;6W;K'\Q:W-QFI5_P"X
M2 CB-X]I&_*=2*YNU%JN'2\.4K2W NA-_P 5UF[M*7Y9<2;<$R7J3M[CS7;9
M)O9<@XXC96@-V%PH5I2QJC87>+8R"4FR2J;YD*<2J*:@MU5%43JAAA+ .1<;
M;D3&1:AYKZO6<YY"I<I9I+9NL8[W8A+U:)>>=K1%IQ_*-XK%KBT%DE(^,(]0
M!3JU>Q:'5,J16HID"3&TNB'C@LL9JV?7'>&@85R35*$SC]OK;=,?[NKS>P.0
MW#6 _/[M779:!.2<6ZGU'-@0<)MC,DEFKQNF*8*$/VAE+.>-O'9"[)5JN:T^
M0C#^OGB9N;G%5^V_TZ<S^X4-#90DJ%:8\UHCVM6&F2SM]*WNIP\6W,X6F&OQ
MI)N(DZ=4B '[I%-\6C':!NRM/D0H63_$8%CR?D_"7CMGH_;F;BZ'=K92)YM#
MNT(E:J'K;%2)M<LY?MW;R0*N+9PF*I!4[^H8HP-JIXB8?+6Q-MVYW_QMG;!$
MGB>RXVU5I;RO;9HY-P?%2ED<O<6KN#Q%5@XM\ICN#=N&Z4<T6D&/O*F6!$"B
M;@;AO1-/\R:HY9F=M_,1A?.6]-:<X<B-+=D;5,;B35<UQQC19\DY*0L+(NZ+
M7P<R3Z;!43JDC9(T>Y(0YNAS&[0VY+;J,;%#.W7+R2Q.P?EGF=@XW(^-O)U6
MD-LINN:O8QQQ6H%RQ@<DN;#2GJEH-)MXV790\.QKJJPNI5)51=)N@J8P8$RE
MDK5[&U'QUDFC;86VU>5B=S\?(DCY5\036P$]2GD%<K K4K,QS;$Y"J5&GL>,
MZ]CF=!PT+ 05B6>D8&(99-)842A+;.DSIMB[#V)+;HYY>L(X9\@]:Q+F>.W!
MV(H)=@H*=W2D+ZX"^NVUFLJ=+>2RMEG+E%('0<ORI BHN"H]"HHF*%&&O8[Y
MZ]8/OV0<46*09ZT[&0]'J&P,3C_-F,8V3RY0YJQI5]>A61D,^MDJ"6D%+&[B
M7BR+1(S0)!4ZIQ1 3<"WO(VE/AN0V8+G:E9W@<8:TP6)[/'W?0S(="V.N&;X
MK-S3#]J8+42%RG$Q=TJ%EFFF1I*+>I/FDTNU360,5/\ A@03!U6_XVP5:M9F
M^.[MY2\69'UYI>#\C7?5K05U7MH:[#X2S=?*C.35<C:ID$]#F660[-C^XV61
M:MW$B=VA*K.54?X*2P^V&V\?MOQ3D>H.<>>2K9O7S..)*MJ7%4'4V$V+/LJ\
MH>K=NN"2*ED;5Y2F8@)#Q60<6H0S"+EE#R0*M%DBH-72R2:@D#,&):+HMF'$
MF?+1N?Y:(>S^2B@Y"K=8T^W"G'&S)6V,:=A59G+8MDL5N7,'%(9(@;;(&557
M,#,9*%36,9+JX3[U RQ-XBUT0QA+; U?S"Q-R\S$=;?S>G[H+SVS%8CWU,79
MC4R8VFXN0QQ87< DYQ>^=L3N5&"J9$D4$B)E1]]0X8HI&)=/Z-AK!^1\$>7T
MFG'DREX?(T!N=FV@NMD[_7\XM[I?)V;/&@>MP$1+H3W\&,?.71$2(/2))JG2
M353*?@93RIJUXBH6V8<G]1/*O6M9Z^_Q-#XHWSC&,'M7;1V\BE[!7IR_-K8'
MND?PT5DAQ#OS2\:Y/^6G [=4$ ,BH' SKL7A+QFW_(N1Z3JYYB\<:T^-[/KR
MKR63-!Z/5\H4W&%@R;&TZ-B?S5C8$VC2NP)I^P4^$E'3<C RK@['VS$6,*0%
M"/'CYUSTKQW!U7%WDL\L&$ME=0Z9!Y0?U33.N0VRTKA>IY N($B&V4:[=EZM
M5(]M:HDDE+B4D<T(ZCG[X%6S@JJAQX'2M:_'QX6<4W_:5QL+OYK_ )JQADFB
MWJEZ^1BV.\^PUFP<ZE;<9:NW<\Q(P)(R2M=<K*2;8JQR>_\ )*)B)]BAS<#$
M>4]2\89QMN#KU;_[BO#>7LV8DM-?957)V5(+/B:^(L9TU4DU6D\<N5X:S#-9
M(A;<V&128'>QQ7*8%5%P)BB(!8%9\>Z"6G62[5G)/FDQ+/>2F7V+BLG8M\D,
M]B[,E?S&ACY"DQ>-5L,M)P$C7QY5#4I-\W^+&R)8L/FD B1@*?N##D)K!XC<
M%:O8*B]5O+QA36/R3XQLES;9&W-J([&59:_T&>/=65AJ2U&.Z;DB$QKTO$M@
M53!#HDR4.;N37$_ @I:\#4K#N4,MWO4+RSTO"./+)B*A8FV$LM=LF<#[$;-V
M%^-68;#9$JF&RP+&V7C'5VM<F]LL<JXEFZ+UNW<)MUNX$BJ!S>Z.-?$F_P!Y
M-<BX+R'2Z]X_*[DC"]8VGCZE+6=Q5,@R4="(FG,DXEQDR>%R>^A3UA(*]<Y]
MF"9(J;<G[!5<E< (68PV)O%!BG:W&2H>17&EK\:"%PMF7:UXPK-0L]9:QW7L
M@2&+Y&L2MZG$IV*F(5O ,KF]+*(+3[-4K ZA6P*BJ!3F"&&5M,M3<PW*!J]>
M\NL1/Z"TC:"+OE(T9DHG8Q*HX^Q)<L@/7>28S$UA0BK#3R6R*KTD_P#A)L(U
M-XJFY$J@MU3&ZA)IKKIXL+E2-GZ)O5Y:3;@S59QY%8LTPD,G57:*+DM-(11&
MPNJXC52RDF,%=G+)D_KWSFA4 0!.)50%,/>+T#B,,:L^.*K:R7Y'('EUQ+;]
M[Z2&*CZ&;GQ,=L_5Y/6K'>*$(%6'I=<@W:!SJP314\P5-)HW5! 'I#E4()?;
M2"*V']9(IIEW-N?;9YP:ICG<YR_IMPQYNS76NQ=OBK[CV]162*+E&A6*4F:'
M7;(C?$F,7!.B&14< U9N4T""/<!T@E7LCIWXF;_KUA#$FKODOPEKAE.(QW$U
M#=C+"-:V0=5O=AO(2%9M<Q(W]N5NJY7E(S)4(YF&Z,E\GH+A$G4@-B=@=BSI
MKIXP8'+M<I.@ODZINLNFN3X[&-<W8UBJKC;RSUW9>&J=O!:SKA),H:Q,#N9F
MFKN8\Y1=%(W755, (I**@ 8HV'UCTYO62<@8<T]\J^$-:?&C=+IB+(U^TF>V
M;9>UUVQV6/FD6^27S>,8U:5<^_*5RH,).,16=G*J[<)M@5;@U37 ) (:V>,"
M)S95\>U'RA55OX:W^5HC+MT\=5ZB=G4G4W;F58)'2#Q:=3KC:5=Q+N\L(]\F
M*KM,H-T@*)Q41 XAR> -7?%YBK:*XL<R^07%F7?%K#VC*]\P7X_;GCW8^UU.
MNV3+M;1@8NWQB]EJ1:XI8:H]<O6\9+H%D'YVR!3D6!85CE#$&,=+="I?(DR3
M??RKPFTVJV)Z!E?"VJ^ Y.G[93MPP/1[HD5EB>RT%[^2L(Z)M=(91;$$V;6.
M?,'BS,I3"H!4TRAR.,-;/'GDO&&9H7R.^0R[;U9:E<+Q^+M0<ER&"MXBN=1F
M5<@+:6,;-&+>LKQ$@D:8DX9R9BHU.@)&9P4(852\#IN!--/'U2M1LI1N4=_G
MUSWMJ;FB2^D>T<9@S=3'RVIXXHC'$I2ZJRD9RAK/$,5$M2JIUC-V)4&IG(J(
M)^^4O [50:3A]AB')E_SSY*84?*M+; 4;,VOOD8B\!;@Y N=1I%6J4/39?&=
MFL$]A&!>?I>1B$Y!FQCTRJL'*2J*Q$Q*'M\##N;M'?&CD##F+\B8S\@F=HSR
M,M\BN,@[";6SFK^]]E5R)<I-W:I:6F(RFP^,RSE#LI)IU'.63P'!% 3;F'H;
MWR]H;?/^$L&4.Q:ZXW\9.?,]82PUGC!T[C7R9Y72PAO:SI66G-/:UJ:=2US9
M/<:6&ZNY'+;B7GVB+2'(BW22<%36.B4ZON!FG*6N_CQ;Y6-2]0MM,\X1\:E_
MFL967;;11'6+R$3"6;G^-99L\EG,'95\<24F"EQAV"":*:S]O\9TW!0A@ Q2
MIASU*QAI7%[)1#:KY5VEE/$+ 7UUE"8\75NTD\@EZKQ;V[J#J+*_*SDL;2L!
M-QCNU)(SJ9Y20569**=A"*BF0XA%C(>F>-<@6.FT^J[C;697\>%&V+D,B8WT
M:N>BGDB94ZET&1M2DI9*:6QUG&CE.NRS6*FI.-1D63<[E%,>](_N*G+P)#4_
M5[4K(4'L34MT<E;H[L0@X<<8I\?4E,:.>0A"=TZA(M&<)#'CF 5!O$OHN#9(
MP;950I78NCQ?51#L,8!#C<1Z3:\575VRU[)5^W?LWD3J,IC1UJ-NC$Z+>1>O
MN];*%BN.JS''U1I\2-/3$:I5P9R)"II-B'(F[353(0Z?7@;&I:M1N/JKE'-%
M"W!\@=J\K=CS*UN<5O"S\=6\3"098T?4IU0+O09$LM69R4L:=NBY KK\Q423
M6:*-D$T"D*0W4,=[8>._Q]9AP'@2H8J6V<PSMU3HYU*;(Y[OGCU\B]LCMH+3
M*P2DQ<9Z78.Z1//8V:?7987:#HJ*7MI+JD,'XB  =ZV>PQK@O1D<;^,;-NT6
MF>*\CXCHV,-V\:M-#=^7U6S[.P\.6/&;5?/,933YM,O&TA-)/60A&-'Z"Z8"
M93^((!UC ^H>L.(K'3<43^V>\&>?&!'*PV6<YZO3^@.^]-B\X9J0AY>-4>)0
MM$QY%0,97X":9P;M$7<HLH55D8%?Q 13@9"UXU2\?&/L_P"?4LR'SSE/QV9(
M?Y/R=KUJ9_0?Y SGQ=D&]QT-6(*_NYEWAU@T?V#'N/H]]$QRQI!XH0/:4)U4
M$YQ"M6\Z/63-MGQG![#>0';J[8?Q32K]4,$V^<T$WYR0MC1E7Y^+;XZQFQ@K
M50X!Q"DGVO\ '=A&=[>--' @0RHBB(!6)OVCG8-DIYGL#F/,NP5GAJU7H.DY
M2SG3,GT"WW+&S!%PG3W[&EYB:-+[ P2*OR4&R+I,0]XBP@8QA,(A=/>-$<1[
M(:RX\>YZSAMR;;Y^\/?[EFUSXK-RKW*W?]91M302H.2<JOSN9F\PV+(.')'U
M]:-CFK$ANXQ!4;F(;@=ARQA#!FH&L6.;%XZ,G^27 FR3FG(XRWJR$]U1VNHM
M>R+B*05@'F1[6T<RU9B(/'-*ITC!.ITL>C(K.G;$P-3J H7T#O&P6AV'Z5C6
MYQ_C'S+Y2<783S/BNK1F9L.6G1+9Z?INRLS6HTLU0FA;7 5ZC%+5K4K)+$7+
M)MG#9+W15%15$WX@@%B"8S7J:_B[MO'K!LU&>/QULB6_YF\=!<=9NQ_K_,D>
MTQZSI=U/,6XZ6.E?RR[-8UNUC9-[\Q\HP()Q,F4A>!TC3'=;3BP[F3\AO53;
MRKX[F<EE^UX3TAK1;IEO%F+[5D&3=A282JU%U<*XWBDJBUL+TPOTD5%550,!
M$>]8#D"W#5G#VJV#YK)ZNQF!O(UO'IG<\4Y7@M6,6W#QYY?EJ]J(GD:ZLK W
ML./3Y$O[N-C[,_JB)44YF 9HJ&<%(X,L0?00JVR'J5D7*VQVN!CY=\I>?[="
MP5;=W2Q7;3Z^P^9\#XRB)IS!8=E,<,;QER6-+1S.PQY6J8B]B8UDY(84'1U
M[ "PR_T.T9&T!SKDS&$ SV'RW#Y:D\N0_DMV3R3)88\EE/I.)F&'(#82&B,+
M*R=CR=/TW!DA*/:T_(WLJR2B;Y<6;!14$A.$E9C1SQ>UC5/"F&\*91W%P=MO
MC2<-=<@;]XH\<^\)<CY$7L,;8(RUP"_M0,5,Q-'D(JSLDT&K%V4B1H\#@D87
MBQC!P.P6#?'7MOB[#-$PGEG>?"^6-<:/':S[#Y&P=XT=AV$UGE&.B*XA)L\Y
M5RL,*Z!K5,GC7,N@E-/7LB<TT8SY( -P(KZO:%>-AO*A!8AWUW_VF+2KW2KE
ML?@##6@68Y#'TO$UJWMWE>QUF^@&<&<EDEU85U$OR.T9%%)R*@ 1,A?QA8="
M8\\<V+O)W6-_J'K)Y JM'Q31TR::\U7Q6SD?A*/LDI09JFFO2<'+J-%F+<HR
M"4C\=G%&<EDT_<   QQ($&LM>,_0O-%KN$[+9 \SD%)SEAM<WAZJ*>-Z^SV.
ML00,W8YB?0H$%!.)F3DW%8B5Y!)!NFQ.Q*D1,#=@F$P%"7NH6K/CLP)KYG2A
M[!X*\D&[%ZV%I<'5D,AY9\9&2T9+!!:Q"7!DSD<56"TR+^6K#1O+V%-Z4Q9E
MM[+F*;F,<J/<H(8=UMP)X]9W2?-N/ZW0O(5LODJV7P[V"WJ9Z&*V3-.!;Y18
M:G14;3*/;:KDNRVV%-35X-9R1%>19M5FSY1%$YSD  #,%VUTTWM6EF&M45,3
M>4>@W_!-VNMYD-PJYH',0NQ:Z-RDKE,VLF47D78C/WU7F82TH-5EG4B)!3C$
M%@.!07+P*N\7^'[%%-RJM8LA2?D[N^MEKJ5W5@9'$>@63H6S6NTFGHXV(ZM8
MOFR4M V>NSM:5":E%VY"QZCAN5J@N!5@<D"S+;+ /C<RQN!K_GEYK)Y&]>JA
M6[#AY*4UNH_C14K^)<SVZJV=24AF4W6BV--F^L5C@E/R21%K'/G#A@)3]_3W
M"\#(=;POKY9/(POO7:-+/)5@B!B,X,;GC_3C&'CXL-IPG>HZD5%_7(K+678U
M_+I5"+NV1B*JJG90L80L.)" 8%%%%ES!PE8U/T]IV1MNMBJ]J!Y54ZMN?C;)
M^%HG'R_CF0DZ-K'(9PL<9+*RV-8:7G%I%R_ILW"G4:)M1;-DFDL*:1BF(< #
M,_BEU-PGXU)/)-MMNAOE3W\GK[6H:MU8U]\=M,8P&*J]3;-+F)&TN*R5E61>
ML9&U+2IWCA5%5JW(@T33[ 6,("%GW@TTMK6O.XGD)SA3L#[>ZZ4S89Y7K%3,
M6[%:_5G#U.I]??VRS6(*G1)ZNY*OPVA_7'D@9)5NLC'%:,SI>T4P"8"AZ>.
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
M7Y&J9644DS0=G;VEZ$;6V];CTHP]AFY:;?\ \!JP;LCO5E@$I4OPB(!P=/\
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
M2O%85E==<<DNK..P_JCBS(,"P<MZ9B6-E'[)"\9&GJ^LF:SW%=-5P]=**(,
M;L2$!0,_[M[[UW5N/J&/,;TR?V'VSS>W?,=>-><>(*RLI9I IT&);UD289@J
MPQIA"LR3]N:;LTB=)J@B(IH>\X$J? Y32/7G-F$JG<<G;79[G,W;+YD49V?,
M<G'R\[&8$H0PZ3P8*@X!QF\<&BZ70J=$NQ:F?&2&6G%R'>O53G4(FF&"L/;X
M[4;@T&'SIIUI_ KZ^3ZSY_2[SM%FT,,VS+U:AY9_#NY''..J+C[,$E"LK M'
MG/$2-F=11%DS$4.U(D8%!#)6JEZV9S3LUL-D7-&)<R:WXYQ]3<:86QGA[(CZ
MJR,%<+28):^94S1"SE'L-CJ]M9*OY.,KL8^053,#2,6$R:9USI$"QO@. X'G
MFRIK;Y$3^6.]99UPJP8IPO=;MJ1-9&S $CAAGC[+N(:#6_RO-%9R;'2<7<<\
MW?)K5FT3AJE'1P5RNPZ!C/U'"SI0Q@"5]V\<DHZVCNT_B>Z2V$M4]I*1.2V[
M..<5SBM)L65<TP"D+"4&Q5>6B44Y+'7ZUI3Z197=_!+,7TXC&QZ9E$S>ZL<,
MC+^+36&CQM?D=4XF4TQRI289Y#4S+& %$6$N5F\ AEHS(M8M!;!4,RP#M=%(
M[AO96D@Y$4^]!RW6[52AC_%U$\F6R=98QNT^1H;2R.IKE]4IICJR\K=KRAGN
M1KKMPP2RZ;(%T@)^#PEC^Y%;)2#"KQL8_G$@5.F\E")@"!@X%_N/F#2"YGUV
MVJ V?9Z]I-DM'<D5D]=K>1]I9=Q8ZO576$\AUHK:#J-=S?4I.X,GB\O'E2A)
M2KI/991!F=@[2,'(T2O;XY4\@^&<K[%:T8KQ/@O#V!]A8"J6:@[!IYB>OK[E
MB<P]^7(6"MR&.L>/:O*,ZO3I%L9TS&4:J@L<@+$*<2F"W'@. X#@.!Q<S"0M
MCCEX>PQ$7/1#HS<[J*F6#24C7)V;E%ZT,X8ODEVJYFKQNFLF)B#V*IE.7H8H
M" <IP/R =H"!/01$Q@^O3O,(CU$.OVF'U^_@47X7\2415-_,_93R37C6?4UA
MDZL;0:;8H3RE.GQ9B38RZ0SQEGBP+:YHL6%.+.+VAN$Y$2CA9X@S7E''Q6Z"
MO4_ @WI#XP?+3IQEFEHXUN^H]>P^3%>7<%7U')$;<\N,9'&]/SSE;).MIXVG
M04WCV0C):>J^4E8Z6%M)E;,FZ BH@X5 A1";FH> ?)#H3X^-G<7MH+7[(F5Z
M!;<K7G1W&>)GEWEZ5%52XS"ERC<,2"-]>UR11KM<LDJ^:PJ9GQ!:1JJ:)C]K
M<@&"WZ"S7C!_/1N/7>2L<CE@T<V4E\<1UUKS^X,9 K(B\FV"LMI-Q.=C-4%
M'JB(E(7J/H CP,F-Y:*=R$A%-9*/<R<2#0TK'-WS5=]&E?HBX8C(,TECN60/
M4 $Z0JE)[A ZEZAZ\#SY[PP!EO[@?PS3HH(E3'!6\;8'0CU57/%5FL*"V[ -
MW)_&)/>X0PAT$5#!P/0X'IZ!] X#U^SIU]>G7KTZ_9UZ>O3K]>!Y>EMXMXGN
MKOGZA*O/Y!R=L7J/M1DK'FJ!L3X_C[/D*M5"]5^HR^)HF*IL?!N3V)M32S*Q
ME%U63QPH@15014[0$ P9<?,!^OMF=2)V,;;55"]:@>/3?78K9;$^8L29 UPC
M<DY(Q]@&CN()S-5VQMH6-N4*>T1LX9N*":C..67(HD<AC%#@6#Q.X_DFP!C?
M0K,.W+O2J[PNV.8<&X<ON+,*TS+E3R/3WN?DC!5YO'%NGLJW6LY(6II'"#V?
M:A!,$OA(NCMUQ(F"HA/_ '8WUJ&F;C!-3+BK*FPN9MDLB.\?X?PA@^-A96]V
M@U=CAG<@6HQK!,0<'$U?'M=_U<BZ=.DDT_<3()B@8QB!@7*#S4CS 8SRCIG?
MG>=L-9 QA=\87Z\XOL4&[PIL;CB2J-P:V:@W^KK2S&<8OJK,2T&HW:V:NN9%
MB;JH1!XFN)1 .Q8E<7C6#?.*U0->\HY$P#G?7&V9BQ&CDJP/\@2V*<CX:N=3
MK.3*JCD6Q.GMQFJU=Z]D2)E&C63<.1CWK1R#<X)+B1,/WO#>'%\V*T9TXB,H
MV^C5O8B^9[?Y><XCOZU'R ]I^&,%6*SLZ<G:JZZ2ME8;3%PF(YRY48*M7*J,
M>9+W"E.8!#N4%XL=0HN_U3)T]#9>R?<*)-5RS4QQF/8O/&4H.MVBHF35K5FC
MZ?<,A251-/0KE,JZ#E9BJH1P *@/N !@"Q7@. X#@4N[X-C#Y2O"T\$$%$B9
M&W*:F2.42K$<.-;2+H.D5@5 1*BBT4*9+H('%4#?]'J%'6SN@N].T?\ 6)!X
M7Q3ERVTQYY0L;7YK.Y-R?D/&Q<^85A*UDP^7:VRQKG3)E@J<?0L;W"49QT"]
MCVS"#LZBR#E)F#=N4Z03ZVF\1J&[6!-2\@W+2RGQ>T^(\R:QU')A,K9 I;*]
MY"U#P]+N(6UUN>M>(I%U1H(\Q6IE60)$1QE50.U!#W^XY3 'I#K=%IM/.\6J
M]7@8%W)MH1I+2$7&-6DE-(UJ(0@*_P#G<F0GYA,J0T&V3:-E'2JRB+<@)E,!
M?3@1%V(\=&J.UF8J/FK/5$D+_.43'LWC%O47]GG&>,[94YB;:V-NSR-1XQXR
MB\@%K<T@HZBDI3Y#5BX<JK%1%;L.0(:YIP3">-C(>#\_:85"ST[%N3]BL485
MVKUSHZ<W/XAE*+F2QN*BSS94L>K/GT?BZ]XUN4K'N';V"19M)*)571?(GZ)K
M)!=</4/VB'_']_IZ=>!YXLVO/*+M5CS;S67+_C%UMN[RT92OE#UVR7E2]TIW
MKI :^2L>E"U[)EP(K/6O+5HR:V1<.7Q6,3#00_(,F0J[8$Q,(2<Q_P"&O497
M3[". -K,1XZV]R5AS"52Q=(9MN]3;L,CVPU)C'B$(U:7-@Z;7)A!PPNS,HM%
M62,9!@FD10PB \"GKQ9^&"ZWCPX[$:=; U&]:=W[)N[5FS30W$G&L+#9*RWQ
M9:<>2N')R;KK^5.VM-:!_23H';N'")Y!F'O$5#O25$+I<6^/[.A\P0VW.T>S
M\7FW;_'N&,EX5PA8J7B.&Q9A7%$/DHK5Q+V!3'#:7FI[($\[E8EDJN,K,BU(
M@D9)NW2$PJB'2KSXU]C<B+Z9[%RNYJ4%Y$]6,<7;'DYL,VPC4[9B/)T+E$Q%
ML@P,S@I]*5EI&,78(((L9&.DF#YN1OW&*<5!*F'[R-XX]I]OZ>EBK?K>)CD+
M!ZMKIMILV&]<->ZY@F)R"KCZW1MQKD5=+]8[?E.]G@%Y>&:+.F<4I%B=5+T7
M[  .!<>DF"*94RB(E+UZ=?KT$PCT_P"'7@85V8QG)YHUSSYB"$4CDIG*F%<J
MXWB#S)UTX8LI>J%8*K'FF%&R:KE.+3>2Q#+F3*90$RCV@(^G \^.>?!UD^3\
M5]=UEQ):(V][BW1SI,CGC*V<LEV92'DZUKN>N,Y/&U4L]9AV<O3L.T>+2D$(
M"'@V3)06RRJ@B9\X47,&>\FZ$^0_Y6HF9Z_:=,L@6C2.7G'6&](8''URPSJP
MR:SN.WN-XB::Y0E9S)V0'%WQC&K)K03AS!MVJ93N (F@NH1P4.B;0^)[;K/&
MN&VV1I/*F*I;R.;3--2$6<I4HEU0->,+(:NYGA<ETAE1T)A&X6RU6&H(NI4X
M6.=,N]E%@0;@W:M2$3 ,8CHMM[I9L?EO-.FE*U&NU0RMA/%F'*WM5LQG2683
M&!+>G,6*;V,S#D^ &KR<AF^\9ES!+(3#Q9I.QBKYPS:,5P30;E1*$'<E>,K%
M/C<SQK5-#LC0-4X/&V**[:,C^1^[[%V1CLA>;DRNTW/7+%.(]:9:TM\40^+L
MAS;\Y91JM&346#9VI_HCNDC*J!'RQGV#TGU(SOA/($QKWB=CN%1MN;);+AF+
M=O(N:&]XQUFRRY)O]#N6KFL>**M*I8U2D8ZVM$I:V2)6T8943.'I?;,)@"T_
M4?(N-H"Z>-O(ODXS_C^HYMKV#Z!':9ZC8X4=W;%F HS(-,B<;UW.N>LGQD6_
M:+9*RVQ=MXBOR$NO$5N(6D1CHKYCH5W@A?7O9A2F['ZB9_P+?;U$8PJ^7,=S
M-+D<A3IXH(VF+ODBJQED61FY&*C'1X:2;HN"I*.4 4%/_.7Z\"G9MK?5ME<@
M;TOM8/+)@FQXOV#I./JKO(PBZ'B;.V0:*RI^*%,6*_IZ^.LA.*IC.IVJHLI1
M= DO#R+>+<F<JM#G!,XD"!\;KYXY=7HG;C*VF'EWK]5J^;:Y3JIG2N8^J>M>
MP^9HF@1\I3<#-V6.)>28#>H"GD/<6I)-U[#IHHY=HO3J#[28E"=H>!9C;J=@
M7"]D\BF=[3B'5'"68=;<9UZ)Q[@2OY$K5/S7CJ/Q_9Z[*9+B:TI(R+)K2VR1
M&S!_'+*D;&3ZJ=AA$X8AQKX:<"W#+E!QY@#R0;%2]T\2>4XK^6E OV/L/9-K
MVM]@RO6HR^.J6NG)X\J3&X1TK$_EDI$-E'+M&LK(%*D4.H)%#)&4?$%KMBJ/
MJV(\\;YYV>XFS7/9GQ1KGCFV0.+FLU![8;>SLW?,EY&@K93*5#/;3,6)%M+
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
M::S)L%_C2$/<J-.MHJYTV9CW @19K*,&BZ9A#J7U 1"37U]?L'U#]H#Z@/\
MQX#@;1N_8.UG;=J]:.EV"P-WR#=RBNLR<"FFL"#M-(YCMEA15*<"' INTP#T
MZ"' W? <#:/W";1B\=K$650:M5W"Z;=,RS@Z"*1E%BH(I@*BRQDRB!2% 3&-
MT /7@>&!G*YMMG@2E=.DM#MVIG*=XS!?<JZG#&XE?Y*J%M:PNXS[-5%;W"9K
M$_)V+'CE@R;./F(6B.BTUDT?=1,LDL0>!+_;K73.C3R-90VEM.&-E8W!^RNI
M>#(QI<\-Z?8GW'S]CN\1-<FJQDG"U=<W<]I>:T+NH*8,=RXCHM\P>R)S*D7*
M)1[@CG0\5;XFQ(TUON'C\V.QAI=.BGC[..W56IN+%]_<D>/JIU0]1PO@.>Q5
M5; [M3>^+)QSF*MJ\:Q4D&53>(N&\<5\LN8 MUH6O'CG\CDED#(&N6*<LXJR
M_BW%6*L.5W*F4-?\UT;'=7>XV3.\PFZ6PIF1G4<69OM6"'#(/A%E8Z1"-ZD
MJO:8A@"8^2=(+ED[7#,N+=N,OR>\+26@@LU B)O V ZI*5'(-,@)9W6+#4:R
MWAD:-:;LK8U$EF 6'OC$714BJ$]KW!$/.7A7178&J8UROBR!T"WORWBG;=%W
M/>1''>QMOU9P+DJU.*VR9H8Z::Y9WPM=ZH9\C%R; Q%:>LP0KB\4Y< #ELHJ
M*:X6\>-?".6:MDN9Q/*ZL9-K.DU-PLUJ<1(;[5C!4YLA 9%C[##&A,5XUMN+
MEK"3*.O<=48TJJCNR*&=LY)HU2:N'*93 B&%,V:W[/XR\RM9ON&M><HY6TXD
MI1EO;F)M0[/"U-R_VC_EC:-86,;!REYM54I=H21KZD?//*TN^:'463^6"O:!
M4CAG[4F]Y<U2PIY3=WMDM-LR8YNEIV:RML8^I1I_%UFOV1\$5"JU>L8W=PC:
MI7B>KD2ZQ_B:J$+(M'#_ +U%VKE5N*H'( A,+8[32K[U6+5?96N[(YSQ6[PF
MRL64L$.</OL=EJ[VPY:H8UZ)R'88;(&.[TWL#AC39U=!N@H5-O\ $?K@) .?
MO *9<Q8;S[A+^W!R=CS*F IFI9\IE0+KODM>M1D!;LJ7?7!SMBSC+_>&0T=J
M\=E8W?%%@E[&2#(HJ5J9V<3% PFX$JK5K[LQ=MJ\:[90FB^-,Y8)PGBQWKAK
MG@#+^9J=6)>K55!S7I^M;>8^@YJG6.C4^>OT&L: ?PTHBWLL3'1;<4SIBLNV
MX'#*:%[RV_/N9=OJ1AO3G2[,>2,)MM3JK 4"RR-^<QF-\@7V&F\J[$Y/G(7'
M=*@[1FW']5@4VE.BH]!-J[66[9*0,V1(AP.N>6#Q>YR?^+W5O2+0&F)Y;QEK
M5E#$TUDC!%ZR*C5;-L-AK&I)21DZ,[OLBI'1 R-KLCHCI^BL9NW5 XB@0ID4
M4^!+S5'RKX[M^=L=:*9FU!V T$V!LN.I>PXAQ/F2M4MKCBYUC'$:@A-P>(+S
M0Y^5J\X2L1#50Z39!!NF5FT4'\ E @A1;Y8=S]CO)?MS9= _',V4RO2M:RX9
MRX[LT#C>OVNH2VTF'=JL7%G)%U>YNUUI9UC'#,%8"$G#0R4P1P\%1 4!(/RT
M N&A(7^Y*9N6BTYD'Q&S#4%$&CMF3'.S;!3V#=A5Y@KMO>U#*+(E 3 U*F0J
MAAZ 8@=!X&+LE:9><+*FQVM&R]FSWXNTKSJTIEX,=041A39MO7I)KFFJM*39
M36PSO)3^4?GBXEL15G\-=B":X"*@J%-T *N;GDOR3[!^3_Q(Y":9=T4LM\E/
M]PFD8>OE0P5GJ/Q?&.\<U:WU#+7ZNA;'D\UNMT:JI4W2$(X9.HQ+W@*X,11$
MX<"Q+<O8/RY:R4J^1N6-VO%Q7+&YP1L%F&H4V(U=V0+?+U2<*T@\U>?R!23S
M5*5N-D(HLJS("CD5"@HX(()JE*H3@9-U&UU\T^/=2=;J!CK:GQ]4RE5C7O&<
M75HZ<U*S;,6^,3"I1#AFE:7BVPC6.?SB+=<0?.$F;9-9V4QP;)@82E"N3)GC
M5\A>OOB:HU3U3SS+VO?'#'D)R;D5ED[52VSKROV&N["Y+DZGDE:RU1JU4^)%
MU^/LK:3G89VUDAAACG"@@?\ $(!+K;;?#.V+?!?F8KZWM,G[]45]4]$M@OU!
M 0<'(U38/+%N@L46&9?UJ$%.(<Q$A5+D66K$HD7XLZP=,WXAW*K)$"=6(<QX
M)\=T!IOXK-?:':\V9QKF+Z$QE,28S&--)8QQH $/>=A\WVV:6:5FFP4A/N7K
MPK=PL,M//W0D8-E>[J4+AEW*#1NHY<KHMT445%E5W"A&R2::*1UEE%5%A(5)
M--),QC"80 I0$1Z  \"IN2S-FOR)S$I2-1;<OB72IJ[GJODO=.+(R=W;.:K)
MX]KUIH.FZ2CA1.$B8IXU69/\F/FSAG[QCA (N%40?IA/#'.-< :;80;U*F1]
M3P[A?&4+(3,E(S4R1G'1[=HW5D;%<[Q=K0^4?2\T^%)5W*3<N\6>.U1.LX7.
M81-P*M9_9?.7E60G<5^/NT6G!^H#U*5KF6?(C(U.:@+1<6CEN#=6K:*PED;1
MI[.^<D,LFZR&]0+"QA1 T6F^7%-8@6=ZR:I8(U!QLSQ?@:A1=/A !N[LDR)?
MS&Z9$LI&R;=]>,F7)X"D_?+O-*$%5Y)R*RSA50YN@E+T* 2*X#@. X#@. X#
M@. X#@. X#@. X#@. X#@<)9*S6[E RM6N%>@[76)UFI'S=<LD4QG(&88+=/
M=92D1)H.6$@T4Z!W)JIG(/3U#@8=D-4M7I:#H=8E-<<%2%:Q;(+RN-:\[Q/1
M5X.@R3L"?+?4^)4@S,*\Y>"F0RQVJ:0JF(4QNHE*(!GE-%%%(B*2*22*:14$
MT4TR)I)HD*!"(IID*!")%*  !0    X'TX'S5227241723615(9-5%8A5$E4
MS!T,11,X&(<A@'H(" @(< DDDBF"**9$DB] *DD0J:90#Z 4A0 I0#[@#IP*
M+=RU&QO.MX9D7)U$O;P9Y(%6YBH^X59RK2\, FB*ABB5+H5N8PF*(&#H ?0W
MJ%ZH?0/7KZ!Z_?\ M_X\#7@. X#@. X&G:'7NZ!W '0#= Z@'W=?KTX&O <!
MP.IWRY1&.J3;[_8"OC0-)K$_;9L(QDK)2/Y16XA[-R7P(Y 06?//A,#^VB40
M,H?H #Z\#SU-_P"Y*P/7:7BC(>:-4=EL25/:.I/[;I:\#^6V1'FSWLVV*IL7
M4HAC2;H]4QE=9J3G&BB;>S"Q8(H*"95X4P$(H$PJ+Y@<;$1RW4=CL$YAUPV0
MQ7E+'6,&VK!B0.:LNY.>YFKTQ;L/NL5(8E?3D+<W=RK57F7+AJV<"$0$,\^2
ML":7N&#E*CM;X^-N;_@C.D;^:S>T.'+5L?C["N'+I$6C'F?*;EJ$QT22S9BR
M2QG87D(PB[N_Q_&(+-PG0!J=HHDNU7*0QS\#$M:\_6FMOQ MFVJXWVXN5(IB
M %V#E*#K5>[S$:O2[)<6UI@<S6F 37JA)>F*![DBW@GDRNFS,1R4AD5$S&#)
MNN'F1U]VUR9=:?K]2<A9*QU#H7EECK/]=_2KW&&7KEC6FQ]TN%)@V!++_,.H
M21&<A[$8[G89C'S"Z"Q6RQNTG>$=:%YT96U:EI[42NDET35NN9,'82P1A3'6
MP.$\N95RO;LW""4<QF(NL2*"6(Y:#5(H=:.L?Q'AVQ?=$B904!,+--9MY<1;
M*47+UF2C[=B6W:X6*4INRN*,J1"<-><'VV%K;6X2$;921;J7A9J)5K#Q.082
ML2[>Q\BS,"B*@B!B%"'UM\V6IY<.9VR/CE+)4Y-XVP,MG3%<'D#$F3<2Q>Q-
M?F;*QQQCU_B"=O5:A4;C7;CE:?B81-XT*8"J2:"O_:.!^!6#C.OY9W!Q#C7:
MC>+&FRF\&2LZ[(4G""_CZ@)=KC72C5)DN]9N[I;[Q2Z-<+M$Y0I^)H.-=.'4
M]>';Y29?"#8(]K\E'L#U"5U_BBC4Y"+HXTJ!I55K+B7C8"A-8=*(C*M&&=(*
M.8.N55(4@C4EV2J!"M$!*=<@I$ 5 [>!5\Z\U&N\7CC.5VM>(]D\6V#"^K]I
MV\;8]S-BU7'5@R!A6%DW<#7;1"*FE9UK5T+[84$FD8WL(Q,F?WQ4%GVHK^V$
M;M5_[@&@9QKF?[SEO"M,P=1,&8*?9P2G*MMGAO8F5OS:-<1K%U4:Y5,;-VTX
M></)S;)D4R)'A$)!VBU=%;K*ID.$D-P/*QD#3;!=&V,O/CTV:M>+G&'JCF'-
M=CJ5CP]\;7K]3H,DGE$M;>8NT?,V.Y5B1D4T'P,&8,0*<#$7/T,4 J+R_D#!
M^S>TE+Q)&>%'83"FX>1:"GL1*YCP_L1@'5#86@8QNEM0JT=F-CD7'F1HLMPN
MBUU7$QX2>657 Q555$%NO00QW0?,$GH=?/)&_6V;V"VHP[IA+AA1_@#<:PP5
MBV(NNPIWSR"QE/:\9/IU59'D<6VIQ!2Z5O:SS1R_A&T8E*H^_P#)5)P+ ]CO
M[@DN%'C!I2]2S958UC4[7W<;-EL?;)8@Q+7*?B[.<6]D$XO&Z-_7:S>9[C#J
MQZB#>/BFZ:[]?HF4I!'J(9*=_P!P#I!"T=OL93\/;/V+4BQ6)I#WW=2!U^DH
M# M8NCN(CVK%C;IR>?0]SL#I.95:5]T_C8>29,Y#M0,Y-[9BE#(&DOF62VCN
M=4QMEG4W)VLESR?JT_W1PXK,W.F9.I^0-=V\NZC&%HD+#3E$GF.9J421(N@P
MG633WDS]4U3CV@8.GH^>?#EW\95U\C&$,(W_ "*[Q_>ZCC&[:[S=AK-#O5"N
M-ZM]>J585O<\]5EXF%J4H%MBY)O*$263<1KY)4I Z*>V'+XG\U\=.XYSE9\Y
M:GY.Q7:=2,TU7$&XL-0KIC_.U.P!#7: 9V*#S*[R%5)>*B[YC*+8/BFL P:+
MR3KJ::BSML")!4X$I]0-YIS=K-V7I/"&/J_*:(X[CG5-J6U"EB465V%SM%S+
M%M;VV'J\V3%I)8<H;0KIBZL:Z@A)S1 39@9!)100B'NOY<,R:^;LV#3?#V M
M=[C*5C!5#S XNFQ&XU&UC93;C(%HFJXQ@J@QML%)?J56*5AP%TD@J#G^*4P$
M[>WO#!=Y_N$28KSEF&J9!UF53PCA[7[*DX?*M5R*RLJ.1-M<#4O&EUS/K=0%
MVL:6'>LJ6&4F+$\XX]I(1;.78D!NB<"!UYQY_LN!K[F^T.]4L/UC83%F9];\
M?HU=SMYC:_:_1&-MFP$:CFS(6>,?%DV-?I=7D&IXF=4(S[(V6=LT5CD%4P%#
MO,7YU[;K_2\(7S?K#6$*]C#8799#7R@[$Z>[)UO8G!$<"L",H\M]NESMHN:A
MV$.__@.$.P7!$4EUC)D*D!5 _&T?GH>T?*6Y6$-=L68DL-AU6R+J7AE]EK.N
M8U<<X>C<C;*6&;AI^0R >.A'$W#8ZQ:,21%Y+MEE"+/%RI_@ 2B<,PTKS3U_
M&EHPWC+=&&PO3;%E73+,.W4/F#7W-".5, 75##ECGB2U%QM/3</7YB;F);'\
M*,RW,83%%P59D7O.D!S!C6H>7[R!V*RZ4UE?Q>T\KG?>FW3)6!N[<VKQ#P](
MIE=8Y(E2W:-D<8+#4K,QQ;.Q\@=J99R@N[5.W26[RB4H6D>0JL9?OVKEDH6)
M-6\0[=3M[EJU7+?@[.&0R8]QM)T=V[*ZLTC,V 8N1/(?DIFB0I-$T>]R(]0*
M;M$A@HEU:\Q/DESW6->J1B/2G3*'N>T%0SVIKACQQG?)$%$XCK.HMPA\=Y%E
M<TG1H;IN> !X\1CX6,KPE?"OV>\5)#O,F%D-*\V^IE5T@P5MQM]9@U\F,E7"
MV83MF/(^M7K($E6=B\6RTY5\K8XCH^I5R=G71("<K3Q1!55$/=8F24[C=W40
MZ&G_ '#^@,W#K3>**ANMG:+30(LT=X>T@V)G8^1%8W:@BPF)FF5V%.9PH( 1
M0[A-$PB'0_ Z<OYNM@LE((!J?X7/(WEUP=3VW3_,57I^L=99D6Z)-%/SNTRU
MN4=&47'J<@-TO;2 3F-T 0X&YLN<O[C/*,$[98RT6T5UA?S38B<=9<R[0S&7
M)FH@N"'>\<US'-:_(I5\U[S&(F*IDS 02F !$.H11G]')'QY.+#Y0?(_MAE7
MR-[P*46PZ]:Z8I:P2,%C_P#FQL0,M4(+#FO^.8YT@\^3=@F5H]02#'MFL09^
M]41)[8J)AF:RN'?@8\.>L$S4,>X6K&2*9=-<*9GJ0G&2YJ9$S>?LKUH^PTT[
ML$>Z:V$T?#.9E]\1Q[ZQ&Z3!J84E4T"$ +*=1?+%HWO9F#+F&M5<ODRW+X4K
M$':[G:X:NSC''QXV>DSP[0E?N$PW9L;$NB^3$JHMBF2+U]#F]>@0A\\#JT67
M">N4WCW(,))8_H>R4/8\YXO0B\LY#@LJ4U*GVIM"P%TJNODO'WN7JT7;E&CM
M9HLZ9Q+AP1$CU4$1$APH+VEG+_=K;X)J](X8B\'/(NT;4T_)FL6FN1JU6;/_
M $UG9LI>ZN*R6.OR#G%4;DS$"+EW+5M_,H3+-5\X:&=_*-W $@<R5"@3^I6V
M,EFRPT:AO;S?(;63QP80ROM+4<BYVUQU@VJN>&,;YHA;F8,E3S:,:V!:!<S#
M*.E9*67J4.(M1>II%$A OQKGF>T@CMR[EI3;<RX<IB55Q!0<CXRS4YS+C^1Q
M?EIM*)3#.WU.-G(V1-"56VX_6ATA58/7GOOFZXK(D*5/H8,)_P!O5,0L[J;M
M)=:]*Q\S4+EY)MY+;5[!$RQ9F%F*W)Y;=? F8I^5=P"L2_10]]-;N$JI#^[U
M$#=PA4]YS$(W;)_E2^^.).2R0XB*U1<:[[Y_JK5[,ZMXO8X1RE3LJ8<R4[LE
M?8RP9"S]KU8FSH'H5IM.*1--E'Q)0I$T$"$":&H/EV\8.E&M+M#9.VS^NNW3
M*JUJY[*T[,5>MEJV&V R7(PC%NIE>IW0S64)L#4\F';@\KDK#22L*G%K))HD
M8H)&23#*,5GB$\B\VQG=OMI=:=5=.X^91F*KIM2]ML+6C)NRL2T!!ZT>;=7F
MO6C\MKM# 4DS.,>5YPJ5R)E$IB07(3XPA-*U^7_Q%ZXUZ#J8;E:V1D;"QC>%
MJ>/L-R[&_/T8V,3^.QA*I0L/L+(]!NU23!-!LT: 4  "E#U#J&(Z7Y9L,;L9
M2I6N.(-&]PMA\%9C6<P-^SUD#6N8QWK#!TY5D9=U,V!;-+>OREPKYUR@BJ@2
M) B@A_#,L82D$*3K'Y0-X,O;?9VJ6H&U%.2RKKONU+ZT89\<M.P]"SN#[%JQ
MBXA8C)6Q.P-^1BD;S4Z]6F2[E<SV/E(QBB\C$&#-!154"'#$U8\S^Y>+*IJM
MN:?;F7WY<W.DVV][L:08BQ?BVH8GUCJU_P#>J&#8Q?*<)".K#1[63,<G%Q14
MYZ8<2DDT56429F*B<Y@F#Y'/*KYA/&G6\).MBF&E'3<:/6K5<E\7UW)3A?3.
MU14[5U[S9+D2T3S]OFB!J%%MG<5V9*&9IRK3N6(JAT(L';\+>4K;^$V5G] M
M:\C0_E#O696,#DG6?<W-$)'X.P?7(:+KLR]V+K>0I?$=.AHJYQ>*W$7$.85M
M66+AVN:Q U<N0,D!C!FG)&\WE)R-6;_KDTQD7&>P6MNR>,Z#NAE+1FNQNQ<_
M!Z\91Q2OD:C9-UPQKFEM%+SEFL4T!(N<9/&4F^KS4BCI!JZ R0@$CO%KMYE2
MZ9XRKI#D_-.1LX6O7"AV&[6VQYZU[G\ ;!1L-?\ (T4I@>*R-&O465=L\D3&
MJKLZTO%MD$),#(JF21.40,%[/ <!P' <!P' <!P' <!P' <!P' <!P' <!P'
M IWVLJS1]YC?$S: .0LC%X;\B,:!#)%/[K%[1,.F.)5.G<B9!UV=#=1Z <0[
M1[NH!<1P' <!P' <!P' <!P' Z;D6JA>L?WJD"JB@6Y4VT50RSE,RK=(+%!O
MX?W'"1.BBB"?S.XY2B!A* @' \T#'^WYBJ9XA7>JV/Z9@^"W]EL;8]IL[LC$
M/[DDS4E:'G"K9-&6K%IFF[NQ4P[YC64')PC&3%->82*HHF( !@#MI/#CMGC[
M,,]+XPSY1KS%CF.C;?8MVKV*>WK)&W- V#QMCM;'<+B3)AB-F<%FS6NQUV7F
M(TR /(24A&,VNHV*HX1(94-A(>!6^9MV=QGM[MUD+ N2LGVC99QF+:6F8YI-
M_P ;8RE\<P&!)K#V.L9XU;M; XL4M)Q<F^3DIB:FW"#J8$I2*![:()*AFVV>
M'38G'=;S[KUHINA3=5M(]F;'*S=UP"MKA$W6S8G2O49$066F6 LDH76OEK3*
M]1<>L*+>3BY$D2X<F,@80  X&,+EX$\@SURQ9$0FQ>NE<P?BO(N(K#3E:[HS
MCNC;2T7&N#9=C*4?%%9V3H]MAYF5C)-M'),)IY)L%E7[0RO<3JJ;@=,Q[X)M
MSL68QPIC;'N^FN-(:X<SA1=@V\S7]!*PRM]ION/YJT2-<)D&[Q.5X*8R7&PK
M&VNFJ1Y9,SI9'M(=0"% O F%B/"TW0'_ ))\::W[FP>9?*5FV!H=VS'E>^8_
M0C<3X5N!J:- Q+''I&/8B3JU1&M5,KE^P@GKR6G7)1;N9'WVIB"8,0:]^(W:
MBDP^1HK8[+VI.U\C:<(Y QQ,W?-F#LG9'O.?;9-6.+N^-76:I:_93L+.EXCQ
MC:(M'VJ=2FT;'/2-T5C>TLF0"A*CQQ: 7S6C*FR^Q&5*UK[B/(V>66.J1&80
MU!BIBN:U4NFXECGC6(M[>'DXFM.9O)V09:47=R[Q9@D9LS0:LDU%0345.&*/
M&UXD,H>.?,=JR=!Y]H>6V.>E;V]V,B)S%2]15BI%[?+1>L<HZVJ1EAERXPI,
M(K9UF\O6G(O8Q\N(/4#-EB 0P?36+Q4[3Z]Y(S'/S>^51RS0MEK]DO(FQ,7>
M-1:78,IW^0M\9)1E*JK;*UJOMF(SQ_C KE!2,AGD._8)E2513221<J% ,S:T
M>,RX8USC4<Z[*;+-MFY?#E&N^/=?*;#:^8IU\Q_C*+R@]B'>2K+*5?&C<8^Z
MWBVDK[-$SI<C9HU23/[38%%!5X&?_)AJ).;WZ*[&:E5>Y,,?6/,U*1@8&WRK
M5Z]AX>7CIV)L3 \PUC547RL6[<PY4%_:[SD35$P$4[>PP5G9Q\/VR>5-S<+;
MNQF==3Y7(&/M>\"8=FZIG#5"4RO7HFVXKL 6BV9)Q6\+D^LO*E)V&<,J>/*N
MBX59)& HJF,4IRAC2!_M[6#W+&M&?[]DK'$UE[$6W6X&9LT21,=/GT3G_"NT
MMPNDPECB61>R,>YAK328"TBVCWROY@W8*K.!0*("0>!N]8?[?EKCC-,W-;/V
M_7_:W"E>U*DM-\!Q-TP6FYROBC&L#?+3/XHL"MFM$G::Y+WVKTV\.X)>3;LF
M*X(1S$Z1N[W>!A&\^/C+F+-:=8/%IO#OSJ_CSQ]S62*]A/'\13L,VZFYZVCC
M*_(OLA4C#ERR3/VJ0QSBJQ3#Z((#J0CDA>S)T3%17*Z7$@AO< ^"FT^._$+Z
M2QIY"J=K](Y@USN&OFXTWE& 1O>.+.WD"9#:8SR#B*?R-=JM.8JGL7_K1DBW
MCS.U(EZ1L<JJ(*J IP(Q9S\:VA."M:I;%NH/E>U&UV89MP%!ZY;U1V4<LPN7
MZ)L&V91L+'M,XU.@J9BD)^@YRIDHV>KPX,%U6/Q'GPU 221!40D'J7AR!TQQ
MC&:J:\^6;QK95\=N4:I?(2T5O-4WC*)V!CW^5:%+L;(_J]\I=Z:0M^))726%
MZDTL;3Y;",'X)EEP23  L<T%V*\>7CTTLUBT[N._6E#JWX9QO'4RPOJGG7&B
M<5.VPB[Z6LTX@Q1L:SM@29G'SAP8SP$UCG4[E/QFX%.6[-OTBV"WJR%N-A?R
MQZIMK9)8DQ9B^OXTM&DD!N/)4I[CR:EI:(GZ%/345+#$MYFS/Q<NEXUH5RHG
MWE(X,!4"D#'5,UXT8H^"L86'%\GL/)^0*FV^]Y1>;@5OQV[<Y&A<WY)RHZG
MRTSGL&6.NIXWOV,<GP<Z[A7\8HX8&+&%:K$73]KM$,)9MT%KVS[9.O;$X]V:
MAYJMQEDF,9QNE'@\-K%8IVYV*0BI0L[F&9_5$]6,C52!-7BM65=D#L&BP*$<
M+*@KW#P)22N++1*US6BB[(XBWCOM/PCLG(96)B*,\255QO0;5CZVX=M^([5B
MX];U_GY>C,%[3^L@DCS;U591NN50JJ7>4AR!"RVZ-:\4O7S!^,L+R7D4QOE[
M#.4+1(9!E<M>*3-.;:KG6@SF:&>:ZA0,PT5K'A7;\&-+K%)J13@955)ZFJZ3
M<)BDN!4PE8^P;H-G2>E*-Y)]W+!,5A]K7=,"T"IYL\>=BT#98;DI>Y0^0:C>
MM?Y9:IM:?6/Y>'0>IG24>+INTW(-W0F;>XBH%P.)JAI5:+CXF'D!Y4M=LFY*
M\>E4O&/*ZA5\H8/4L6R<;DW$$=AU",E*S&Y ?OX!_P#!AF;H46*3I1PY3,4I
M4^H"4+^B*$.0%2""B9B@8#DZG(<IOM*8H& P"'W<"C:S>,+3W77!KUTYVCN6
MN$QAO,FQ6Q^$=I8V_4.F9#UFBMAK [N.4:#7Y*QQ;^J6K$TLHJL1W$6!C*-Y
M @$.8GR$D3D#*/C(NOC)+@"*H&IFT6.-D6#O+%[N]FO5[O4%/96R/GNXR)YG
M(>0IN)L+&OR*5FLDC*&.4T;%M&!4#@DT*"11#@6YM&K:/;(LF+9!DT;$!-NU
M:MTFK9!,.O0B*")$TDR!U] * !P/N/K]?7[?7U_Y\!P//]?<FXKS!Y,,W;";
M)9#K]9TY\/55Q[6*PK93JMZ5%[JY\8?)MN3IIX@"I9&8QGC*R0L!&$.@H2-D
M)YTH005Z&*$A/*CA/ N_%<PMH#>,R055OE_R/1]GX/%:L4XGGN=,1ZZVN(LF
M2JFR$J\;#LHZ?C9-)H5XX>$(DJL54$UB)G[0J^@\?_VX.&<[7ZPM-;X2*L%M
MLE"UKS@E!XFR7>M8->\N&FT6Z%#OE]K,7+8'QE>7=NEVT5++LY55 SQJF43$
M#W3J!UG(],\"$+Y&L0MUJMBREP%%JNQ6NEIQ^342=<:LY S0BU@;K,KV3-4C
M74<8/\@82KE,E$CM2IO5&PR)RBX1,7M$(\P!?%'N3Y(O#_<](\!81E]=[7=M
MZ<8Y(C6^O4#1JM<;AC_79W846UDIDY6F*M@+'?*:/(]RX14;)E5*8@@H(@ 2
MAVPM'@)D<M:UR[$N$,45C6[;:$/?WF,-#?S?&N5KXA%W2HPN"K#EJ)Q"A!@#
M.T.1?/H]B[>D= S[5TE"IE,F&4,S7'^V^Q=N;D>RW*OX*M6V.(<=,:E(XJHN
M![!EAA02T@)2P]U2Q#0<;S="'([EU8"-GK@$E'95OCME%4#%. A!31)I&5![
MF/2S?#+,[J/JN^FY;R#UC"L(DM@]_E?%&Y.RLY4<1X\V%R179II8ZLV+.HL6
MBV/JTUC"JEE4FLD]5%%5FF%_%AW.T$UTHT?I[K12:GE:X.Y?*6!L<:1ZQ5N$
M0D9JWT.*[\I5)[$LT8BJT&F5@LP7]266550BF8KK"=9PZ(HB(0:\7>DF(J)D
MG.VJV[N.L0YXV9P57<7S&'4<B,F>9X7%FD-W&5F\.88Q(IDFOK.4:I@R_-YN
MO/))-$KJ4>((++']HS9-,.5V3POXYKOE:1U^TS\2FG&X&R,+:4JWE>XC@K$=
M:UPU<E7!"/#R>QV46%6!1[8&:!U'0U"O)R5D> B*:Y&7O)*'"=GCZ\36L>BZ
M$AD9AC7$-AVDO8R3W*&<:GB.K8S9JJ2[PKL:=BR@P22D'BG&%=:H-F,?&1X
MX6;M"*OEW3E1100M/ .T@%(!2E(4"ID .U,O:'0A>TH  $#H'H'T#@5WZF>-
M[$NH^'MA,15"S66;'8K*>?LFVC(;EC7H3(L,&?I)](RE;AK'#1B#@S"HJOSF
MBU7'O'36Z*"'7TX%;TC_ &VFKM?QI'8>U^SKGK7'&=PQ]1\7[74VANJA*0NX
M=;H5@_4,-8LJ,[%7GJ5;RN1==RF%IKP1T@F5QU)T,0!X&?F'@_P[: R.ELIL
MCL[M@G8*56<3XC?YBN4&O9->L/U?(5=R8%'H,]#UUD>6D;7/5"*:V&?E$G,S
M.13 C5TL<ACB8)J[>Z)T';4N'Y\N1LNZ]Y9U]GK#/X7S3KY96%/O%'/<85.
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
MZ'?J>Y%LI!4O>0,*Z,^*O./C8V1PSNGM/E'3UOCS'.NVP8[7[!R9IJH9CO\
MEW8>PUG(MEF,D62R.7E5L!Z5<X@T5$2[%TQ^9!B9,(Y-TY.!P[%E7(^3MP_+
MKHYD?#S?/>K>L&?L%[2:MN=@V40TQQEK8^OTN!B,[F1IU7O$ [N>-\=_/C2C
M7K8O'L9M<WS58_XJ8I.%0]'NOVO.(-7<5UK#&#J9'T?']4*^/'QC19Z^?/Y*
M6=*R,[9++.2CI[,VBVV24<*NY*5?KKOGSE4RBJAC#P,U< /T']P_3Z_O#KZ=
M0X'G=WYG_+3A#).OK2H[\X1K./MI-S*-K34:S6M/H3]>5"G9--89HTRI;;I?
MKO%3-NHM0K;L4A^ @V?N$BJG*F!A2*$7&&Q7E<B<?>4#.-/\@.-;;BKQF9DR
M75&E<S5JOCYM:<^_R/Q34<GY,JMMM]"F:^UQU!RYI=2)@7D;%G?G7.#E4/;,
M0HA<WG#979&P>-N#W)U:HT%&Y6=X<QILFMB#(</,7%U)T)>%AL@Y'QA$I5U]
M#/%K\^I:KMG#.^T4@D 2$Z/0W0H4G7GR=9RRYD&@[CZY[*24=JEESRGZK>./
M%=(;1,*^H$IBUC4YN][ 92L)YF%.LQM61+K((0C!\*R:C.+C.Q/M4<=H!EZ1
M\VMN1\)6P&WW\V=<6>\^&E,G4]WCPDI7^L5?*SG61H%<9RF*'UD)9"23VE$3
M?$:*=!<=@K%*).XH!<[AO;1KF#-6-,>4^5HEZIUJU":[ V"]T:?86&-:VF0N
MU5J<+"LG<1+R+$L5,I.IE=(3@<YC,! BG\-0!"<' <!P' <!P' <!P' <!P'
M <!P' <!P' <!P' I@V7L#<WG"\6U6%JQ*X1U9\@\\#]5( ?G*Z0P5'IQ[5P
M)!ZI&!BJLHF @/\ # 1^GJ%S_ V<A(,(EB]E)5\SC8R.:N'TA(R#E!DQ8LFB
M1EW+MX\<G2;-6K=$@F.HH8I"% 1$0#@54S?DS#.=UMN$/'#C)]M;DRJO&T-;
MLW/_ )=7TKQ'(O3 45KEG#M$F2I..2$ZH05(2F7KHR1DCKM0[E"A63O3XM]G
M]QLJZKX>V=G;!MG"Y7>6J8V3S(D\L6(-6-4,>T&2K$VWKN ]=Z==&WYQFS+/
MR5XJ.L%S=VITU2(NY)[0)^V4/3/C['](Q31ZKC;&M6A*10:3!Q]<J51KC%&-
M@Z_!Q;<C5C&QS)N4J:****8=1]3G,(G,)C&$1#N/ <!P' <!P/DN@@Z16;.4
M4W#=PDJ@N@J4#IK(K)F2524*("!B*)G$!#[0'@>>W"O@P=8+TO=ZE4S.\8T7
MG_(]3-W;1>?T0=11W1J!F*GW^M8J8QJLD((2C.LT*,9@^,<4"N@5$J7LF*0
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
M*.//LO)--5=9G\,Z!I,QWDMT!>PZAR%.B,HEGB&!F#CO 4RH%5.!S";\/X
M?KP.E9JS-4O%YY7AR?EN>0I^HWE.J5*I,K9UHQ1_'4S>K#Q(ZFTD)0(AFZDH
M>"RUA^00:K/54S-"2<0118Z1#'4*%W^.,9U/%$"[K%-1EV\0]L]MMRZ<W9+!
M:703=WL<C:K"HA(V62E)!M'K34LN=NR34*S9)&!%NDDB0A"A _)?D4F, R\H
MVV"TFW%J5-2N$] 1&6<84"O;'8[?UZ/>BC#VZ51PS99_(U88S\>)')&KVNE<
M(")D3=5""' K&\.&ZVJ.1\K^8C:B;V.HD$G=]WCH)HY1N;^AOJI@_&N/(:I8
MM>2$1DQ2N)5^.EWS:>52;I-TEFYR'0<@55,I"A%??#R/:[YD\IOCCS-@ ,R;
M44/2K%N\N>+E#X9Q\Z1J<DYBL0#%A/UV[Y1_0=*L["$;E4+*/(EZ^&/3,@9(
M%E5")G#J.1/(=Y5/'KXQ=7-@[?CS7#$U#S!EN DLEY9S%?\ (FQ&8H=AM)?K
M?E<ERCL00S:B0K")J-7L12C!!8G*[$&I6Z1"E 0($K(_Q7YPSA+X$\H;+:7!
M'D:VO98MBD8FL;)TFL2FEEEJ,NJ:?*VUQ<8TKL1(88=(NGKA6-EWT=9%157,
M5^@*A1.4+5,4;?V?:;$NR6'(K7G/FN.U^'*+*UBS8AL@MZ$A$6R;AY5G2WV%
M-C_TU8L16FNOUVZ:\7/,$7@,$S)*NH]/M]H0\Q%$6VYQ=3\VYA\A6QURV@RI
MXP?(#KG6&.G>1[/ 9;Q%,4/9A[CJ!BKE+RK_ ![2;3EG)U<C,WJN*38'35-&
M'E8,R:#'H803#U.U;4C+D_Y#KCN+G')=<M^-L=8V3QOI9BVNQ,C!/\4(WYFR
M/GRW9%.J95E;;E<7T*Q9QKPAR@SB"*(BD4YQ.8+%N X#@8?RU@;$>=%<7NLJ
MTUC;U\.92K6:L7N7;F0:JU/*%3:RK*N6V-4CW;05GL>SFW28)+>ZW4(L8#IF
M#IT"'F;?$UHKL)ER7S1DW%T\[G[7,5JP9-J]<REDVEXHS+8:>HP_3,UFC$]2
MM<-C_)DI&$BVZ)E99@Y%T@B1)R"Q"%* 6-HMV[=%%D@FFB@BD1%!LB1-))-N
MB!2$0213*5--NFF $ A2@4I?0 Z<"O#'7BDT5QSA5QKNQPG'V+$ [+RFW,;3
M+;,3<\QKN<'\TE-L[+ ++/$7D>U@'"(),&9E%$$6W5(X*%,83!D.5\<7C_F6
M$]'3FF&LDJWM2]G<V%66PQ0W[^6<W.>>VFTKNY9Y"*RAEYJP22[M8P+ ;WE3
M"40Z].!F#$FL>NN IJY6+"&$,7XCF<AIU]&Z/L=4J"J!K(C56CAE74)%.$9,
MD%$(EN[6]HA2E(!UE#B G.8PAG3@. X#@. X#@. X#@. X#@. X#@. X#@.
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
M=0F=P' <"H/SIXBN&7?&YF(N,J;?+YE_%=CQ?GK#M=QU$MYR><9*PQD"!O,
M=W&K/H]56N"E&+I2)VR@NT6BAU$4U3D!(X51V+.&S'ERF]'$5]>]-S![V-MV
ML+K3$!M9L11,;/&$%8B,)_+V5*M6,3X7A'*4XQ>11ZP=[+/TII-LDX3_ (?N
M<"R3)V-O/O<,BP56I&S/C\Q)BAS7G4S8<L5K >2[5?(NUM! C*FQN-[SD-]"
MRL)** "BLHI)HJ))F, (=Q2]P5X[_P!3\C6+JOBC!.<O)_D[-^9]M;?,XVU[
MUMTRPKC[4VW9)NR<:1P]FKIG<DA=;GC# 6*V[U*4M,JRZ.A:BDV)U,L @&X_
MMK_';KI3M#9K,&<L2X0S9G6;V5V0;63-UGH\)D22D6V)\C36* >5BVV^%=3[
MJLO7]'>RC=84FZJRC]1<Y/<4Z\",GFQ69[=;>>%^4U2N-\CH#;5[L!JVBQ<Q
MEVQW -\4V&=J]<RS-+XQM=?A'S1I)4IQ,HNU#LVIY&-3;K)J 1)NJ 7G>3_Q
MCX-VUTWVEHN09K*TPS=P!\T8^K2N2Y9I3\=Y)PCA2Q5/&C2EPP(JLJU2SJB1
MW+QR912DGO5PJ/?P,[>).^53*/C2TER+3*I5:/$W'7C'4N\J])@8^L5:,M/Y
M(@RNPPT%%)(,(]J]N+1\OVID#J=43#U,(CP+$@^H!]G4/^? \1^^K^3\AT!1
MLAXQU_PK1?)72LV[HV:E9C;7.\0A(37;Q;Y?<N8F4L 1ZY8VZ62YVPT7 1)+
M&R>Q,2]DWKE,$ ]OH'K_ -9LTPVQ^NF"M@:\S?1T+FS$M RI'1TFD"$C'M[W
M6(VRE8OT2]2)O&AI$4U0*(D[RCVB)>@\#.' < (=0$!^@@(#]0^H=/00Z" \
M#S->1'36(U_S#IU9L=[@^02D!N5Y ZA@[-</&[BY0"K26/\ +-?RA:)J#KD,
MY<N$:8,?.13)&)/%BW%@T**) $!*8@0@R:EDT^FWDVW'9[;[34N\^*C,M\UX
MTLAI;/%I)'0S36M"CO$G^=&$B=*-V!ONP5IM:J,H:PHO/DQBD>Q9@4 ZG"9?
MFVV(R%5]//&/GZT2NQT50<D9JQ0TV/PQJG>YS$F7LIERO@FQV".IU;GH>5B)
M]NM6KHQ^62,^2FFZ]D453%-V'*%<^P5KRK->/?P:6_-V0I;<BLY+S!>\:7;'
M5&W-?X)5R*OG6CV^T:OQN9=BHA]!_.F\,UFI@SLK]_\ $2=2:"Y51!0XJ'#)
MF?\ 8"Y^-K)VM6.-/(R8,\\@.CTQJE@[#Y=D'^R-*PYO:TS569!O:9C*SV:F
MTY]U6(O.#Q:1EQ4-\LS-O^%)N0I2A8;X5,;1V%=Q_+%A)I>\HYJ4P[E7 E'3
MS5E_/TUE*XS!2X4@IB>I2]+GI9^]K2-:N;^1>C*@F0CP98C'O,,>)2AZ.. X
M#@;!K(MW;I^T2[_=CE4T7 B =@F5137(*9@,(F "*  ]0#H8!#]O W_ <!P'
M <!P' <!P' <!P' <!P' _)SE3*8YS%*4A3'.8P@4I"% 1,<YA]"D* >HCZ!
MP*NL@>2MK<;-.XGT!PU/;TY<K,ZYJ]WF*?8&=%UIQ%,M1.B\0RAL=/1[RI+R
MD:N'\:&K"5AF0 I@.W2'H/ JYRUJIE',?F/\=C'R'6+'FQ+2V:I[O6%'#=)H
MK^LZY8CE*V^PRU%A6DIB1D+GDA>;9VL491[9ES)/@00!)BV3**0AZ=:_7H"I
MP<56:M"1%;KD$R;QL) 0$:RAX6(CFJ8)-F,7%1J#:/CV:"90 B2*9$R!Z  !
MP.8X#@. X#@. X#@. X&&-C<+PVQV LSZ_6.=FZQ7LVXPN^*YVPUKX7ZAAX:
M]UV0KDG(0OYDT?1X2;9E(',C[Z*J0' .XA@ZAP/&UO5C3QQ4UMG/1/53>[;9
ME"7V&K4+L1X_-"-?*[LG47EWI]9JT#*78D17<;R<7B>VWH*:Q4LZ$=,-6[^3
M*H=RFDL=4#!T"TT>YYRQE9=<;]K=YO\ />L%JE,8R\!C5?2;3O!P3UCQI::C
M<HJ7FK+#,<<6032%;J)X4/S)JU4;1KE<@J'6*B8H23R]B#<W9+:BP;#8-\8_
MDPPE:[[3,4X^M=7G-YL*Z5875H6&8Z484"+E9+%!\AY%F5^V95^20CANX:)B
M=-NJF!^TH=AA/#1Y>Z/7*1<=7\P:<:994IF3,TY4A75?L>;LMY4DXO866;V#
M(&#<P9KN=;F(O*E*:V!DE)M7#Z$<J(R714BH&3*IP,I8O\,_D=R;?,](;4[*
MXZQM@':>HZ_T3:2OT"WWK.FQ.=Z5@1A,1*M;>YMM-1QE#T)MEEA*%93[B/C%
MW 1216K9-/O44$,[:.:A8"V_TH\L^E-32=XLU8O7D,V*P]54L70\56#5*#HJ
M6'HVT,*9$2$:[C8]!E=Z@\0(95NJ18@F6_$)^[@63YS\5VMN?;E,W>?LF?,<
MR-\K<?5,X1>!,X7G"=>V-BH:$/6X(V<XNAOXL;G)0T"LJS3>$4:N56BHMUSJ
MH$33(&:,LZ*:VY@U1BM*IVDJ0&O-?98IC:U3:7)+UQ2M,<*6FJW''3>%D42K
MK(%A9RF,#G]P%?DD(<%>\5#B(?+(6A&JV6-B*'L]DG%,!=LDXSQ79,/TAC9V
M3"?H->K%JMD==):3CJ#,,7U::7(TU&E]N820(^30443 _:8>!A,OB!\?B64\
MP9.0P!6V[;/V/X2@9=Q8V%1IAFU%K%V;9"K5V;XX:>Q"5G(D)9FPK(2L2#%4
MAEE5 #WU#JF"/$OX*-<8%Q<(/6G/6W&FN&\MBBIGG VO.9WC+'N9WPG.E*3<
M\_O\=>;U5K'9853\LE'\!+Q;E\P3235,/MEZ!P6(?[>70K7:-R,QUOM6W>NC
MW)$Y#RSVPX0VORSCZ>@V,0Q.S&KQ2T/+)QTA7)!58[A8DJVD'(+&#VEDBE*
M!W7"_@ETTP,PH\/1<A[HDKM*R<^RZI4WNXN;4J;=[T]G1L@RV0*G"6&&K]B4
M3E0*HIT;HG?&+W/#.#F.8P20SGXL-*]D<UV'8S,.-9FQYPEJA2J36\H1N0;U
M4+KBJ%H;F>>PZN'+)3YZ"F<9R[UW8G!I%Y&+HK2  4BPF3 Q#!(O6O5W#VI=
M"=XYPQ%VAA!2MBD+?//KGD&]Y-M%BM4JV9-)*P3EKR'8;+//9!ZWCD2G_CE3
M$2=P$ QC"(1T<>,?5U[MKLUN1.U]_9,A[9X#B-<<OUJQ+,)*@26/6,='P4E\
M."6CS*HREE@82.9OS*K*H*D8D,"93"<3!@?6?PSZM:[5G!,70+[EBU1^!M?-
MF=8:<]FKA&OVLSB79K(CR_W"(G?RF+:-GC^ISBQT8I= 4?:*3^,550I3%#)M
M=\4NO,)CO4JDR%AR99)K3'7S-6M.(+[(6-LPL0XYSSCUCC*[ELC:(C&D/*RB
M-8B67P% 03(U<,TU (/J AD1OXY\ R.B.-/'MD ]OR'A'&E1Q%5&,A)3ZT#=
M)8,*6&MVND3#V<K!(H6DDUL%49K*_&(DDH5,4Q+V&$O [CMUH[AK<QECIUD*
M2R71,B8:GY:TX9S3A7(4YC++F+)Z?C0AY]S5;7#'.'PK!%D(W?LGB#MDZ23*
M!TA$H" 8C1\6FM#'#6L6%XI[E!G&:I[&0&U5$NCN\N9W(]KS3&35HG)ZV91M
MTXT?.[X_OCNYR(3"SHOOKE7#VCI"FF)0ULWBJU*M6U#?;.0C<E-+4>_UG,5A
MQ3$Y1M<9KM>,Z4EH$?3,Z7C"+9V2EV3*]89)($:RJR/?WLFRRA3KHD4 .,R+
MX@-!<E8WKN+)'$$O6*[5K=E.WPTGCW)>1Z'<T#9SM;JY9LJ:UXK5G86EWCO+
M$T^6&<KZKH\4Z2.!"HD B8D#)6 _&?HMJ[?83)N ->*QC"Z5JL+4VOR<!/7=
M1E#5MPV3:.8Z/KTI:)"MMC.FZ0%57*T!PJ(B8R@F,81#N>WFDF!MW*I2JQFU
MA<D7F,+RPR=BR\XXOMHQID7&>0XMB^C6%QI-PJ<A'R43--F,DLD4YO=)VG_R
M=?7@1BA_#3HJWKL\PN]5RAE_(ELD$WUEV*RIG#*%@VBG4$(UK#IUU7/L98X/
M)+6DIPC(C3]/M'J$)[ #U:]PB80RS3O&)I)0%; SI^%(>#I-LUK>ZFV3%S9]
M)'QM-X8E;G8K].1DI6W#E;\QLEBLEKD%I&:764E'GR3"HL8_X^!WIAH'IK%7
MO7')K#7VA-LB:D4PN.]=+D5L_/8\941*O.:JVJL9**/CO):%CX1ZJDU3DC/0
M:G5,HD)%3F.(=D?Z6ZH2>Q4-MN]P%C139> BGT-$YH)7&:%X;L9%B$6X,K(H
M%33?R!(OJV1>.4UGC9N<Z:*I"',40[]CC 6&<06K*=VQ?CJM42SYOLS.ZY9D
MZTR_+ O=P8QQ8E&TSC%N<L<I/JQY 3<.TT4UG0@!EC*' #<#+_ <!P-! !Z=
M?IU ?W]! >GV^@_0?V<#Q\U7&KG'7EIO/@Z0D[2QT@S?=9WR>(1,+>)VL2Z=
M1G("<7O&JD:O5WT7(1^';/L Q4G7:"3I ZK!JJR,D9-VLL8+3O FC'1FI&;J
MA$O[++16,-\=R<1P,E:+7:;6^6J&.<N2<!26#5>U2LLXBXJOU--I'-F;8R;5
M)-KW 3W#J&,$SO)%EJM:U:6;/;124+&/K-A3 .5Y.ER*[!):7;V2P5=S 5^$
MB)--NI)QA;/:WD:U7%N<G>42]W7M#H'$>*G7Q[JSXY=,\&2[5=C8J3@.BC;6
MCD"E<M[E98XMMMR3P"D)U>H6.=<IJ"/4W<3H(CTZB%;'DOL<4^\W?@0H956Z
ML\PM.Y-[7:)E4^>C#C@E[$M72AP)[16*K]H<H%$W4QR#Z= $>!8-Y0-A\J8/
MPCCVB8)BX%7->W>=Z!J%C"WW)DK(T'%<]E]M/_F.4;I')BF$Y'4ZK03]PTBS
M*H%E)/XS8RA2*&ZA)?476RI:>:RX0U@HTC(S-6PCCR H<9-RQ44Y.=4BF_=)
MSSY!N'QVCF;EUEW1D$Q%-#WO;*(E* \"1H?4/WAP/#+GYOX[J<MY5<X5+%6U
MNL?\[,>[H:EX-S97,L(AKSE38>OV>'G<MTO#E98325PP[E?..5Z@@16$>I(P
M]MC(9X#8PJ*JM>![.->(63K>O^#*]-5R/I\U X=QG#3%2B$R(Q57E8REPK*1
MKT8DF)B)L(9XB=NB4!$ 33#U'@9AX#@.!U&U4"CWM6KKW6G5JW+4BTQMXIJM
MC@HZ;4JMTADGB$1:Z\I(-G!H:Q1B,@N1!XW%-PD58X%, &$!"'D]XR]'K1L!
M);-6+ T%-94G+%%7>?\ S&9M3N@6+(D"P;Q4)DZPXA7FU,6SF28:-:))-IMU
M#JR"'M$.50%"E. 2WNF,<<Y'_207^C5.[%H5OB,@T@MI@(N?)4;Y7P=%@;G7
M"RC9T$/:(0'JP-'R'8X;^Z?L,7N'J$2#>+OQT*Y$LN6'6E&MDCD"W2@3L_/R
M^)JC-%>3PB<RT\A"2T8]KL;./%53G<.VK-%=RH<QU3',81$,I1FD^H4%^@0K
MNL^$:NGBO)$CF'&R%5QI4ZNVHV4Y=C^62]^K#2"BHYO$6>7CP*BZ=)$*=PF0
M@'[NPG0,G5O!^'*;D:ZY?J6+,?UC*N26D>QR'D: J$!$7:],HDPGBFUNLS"/
M;S-C1C3"(H [66]KJ/;T#IT#*/ <!P.BUZ;K#JX7R!AHU!I-PRU>>6I\UAG;
M-.3>3,00T:H\F1C6T;,2K:,8D3433<N7+1N" + D55$#!WK@. X#@. X#@.
MX#@. X#@:B'3Z_OX&T?/F<8S=2$B[:L&#)!5T\>O7"+1FT;(D$ZJ[ETX.F@W
M03(41,<YBE*'U'@5MWWR+QMEML;BS2+$EDW:R!+J231]=L>S#2!U7Q>XBS@@
M\_F[LVLVEZ;%R**W<!8: 0L,^H8O;\,HB \#?Q^EN4<WR\K:=Y\YRF3(278Q
MS6.U6PZXG\::O5%LD +OX^PF:R3?(^P#]R\  6D+*[:1RZ11*G#-DSB3@3UI
M5%I6-JS$TK'=0K-#IT"U390E4IT'&UNMP[1(.A&T9"1#9I&L$0^O:DD0!$1$
M?7@59[$N$67F<\9GRI% I9K57R'Q$7%"1'Y1Y-H[U?F%WQ5.[Y MB1;54APZ
M=A3]OVF] MVX#@. X#@. X#@. X#@4&>1;)V4=O=K([Q7X)R?>,*52FX1D=I
M][LPX[?*PUS0PXX&2@L::]4JQ,EDY"NS^9)]LJO,2#=1%RR@$.B(G.L)>!2W
MC#<3;+QE>'W&.:\/XQUR=4C;K .3;]@>7POA2-QK9=:<U0-7LV4'<=E:$D;%
M,QF=<?'QW3YE^WL3Y?\ /B2K,$WK=T@J02!('7/R%;TG5J[K!^UCK=#!F5-N
MM4\#TG9+/^'XW'<)+9BR#CS,LSL'@^ 85.L5N>4QE3KC7ZHU5FD(Q1W$J/G3
M5NJX,4QRA*3+7FIV"O& JX?6K&V.*SG*JZ-;9[5;FFO,A)V&-U3F=>X:Y8ZC
M\>-8YE(,#+9#M.PM8<(Q;*;]#0T>=19%3WBGX$C?#_EO+&QQ8_+5@\FF3=O(
M<N'J-,7K$-FTV@-?ZC5KGD*):R[=] 9 "E5M_;2UY[&OV7M1SEXU, =ZQO5,
M3!W+S>[+[1ZB82P1FC7_ #M5<)T]QLWBK%N;'<Q@Q#/%JEJ;E:9;5AFXHU14
M?-3R+RKN?>?N8]N0DA))!V-G"9TP35"ORW;L[->,W!5'SS JZU;/:[;;Y;R3
M"0\K7\"S>@>5H[;[,-D:PU"MN1\6WNW+DE<9O[;!O36Y\1HTGT45P>*"JF5,
MY@F;LAG/REXDV>T%UGC\VZ@QY-PU+94K9>&FN>2;-+4"W8@PQ_,/(5B@HF2S
MC 0D[7K;8&ZK:,9+?$<,VIB'554.!@X%2>.=_=Z(?+V[62LL[4[BY3G=(<R[
M7T1.FXHTJJD%X[[#5\&XP5FJB7-F36K9].4F9L%C>IG<LV<\XF$B?&(4X@X*
MXX$_*ONMY"=B]L\ ^-&X.H#5S83'E,7W%V?V!Q-7#36+-@->:X[IQ<=577B.
MO[J5GJ^SR9<;LWAKJ6136>01(A\FS74%9(0",.#MO?))HK(6"X;K-MN,N0>9
M[*ZPJ7)5CF-7<LZ?TS:B]7V2JN"[%A!?&%VKV=HG!=GF)*.A9" <Q;IVR4$Z
MBJJ*J1@$)30VUV]_DO8ZT8RU#V(IVF=X_H6Q9NIGF^OL2-<CI7#)&2YN4I]
MP]6X:=F3! 8M4N6/YY6RNTSJ2J;$S9!#O.93@8&2\UGD2;;1Y6P%8-9\&QM@
MT"Q(KF/>FEP-JN-K<94QI/6/'WY9>=99)K&$FX65HN-+2ZL<A"R[-]\T$!9)
MJ>Z)#@%E'B,SG>]ZUMD?(=)Y:MDUA3,N6+9A_5/":+\4,<4#!."[+)56)R,K
M .FR4H7+&8YE-U*3"S@P?%:?&;)% A>!=%P' ZS=:V%RIMNIXR\I7PME8GZR
M,]!JI(3<($[%.XO\WAUUTET$96-^5[S<QR'(54A1$HAZ<"K/7W7!IX5?&/D>
MG8B:9-VY=8!@\Q9L9P\_+1\'?<FOGK^1N#^&0=**RD/#J,XPG;_ID>Q<6YUB
MM_?6,0P5^X#\Z^7%-8K?NKL3BS"\M@'(VQ.)]==0T\+7%_1#WFTVFL2$WDZ2
MMV1=BIJGU5&GXXG4580\VJA#M7DG#R'LI&1% 1"R*/WJVMR/AS'V>,!Z$I9'
MH-LJ]QLTZE-;889@)R("K2S^/:1]<6JR&0*A=S6%K'*.6[AI+$;I@445C)K
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
MZS0-MK^.I?)\XUN=A+:+,YRKE[(F89!>=4B&44Y<,7N1K#85()K(-61%%VC
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
MN_M&79:P.\H6O\V9MDT'*4C+N4%6Y"I&()"@4 DJPT=U*B6^'F,1@;'\/%8
MH-_Q=AN#B8G\M@*%C[*D&G6\B52(@V:B,6K$V^%3]EZ1PDL*@G.?J"AS'$,6
M*>+'Q[N<*89UUD-5L9R^&M>+BK?L*4N9:RDLCCJVN;"^M3^5K\S(2;BPIA*3
MLBLN[;JNU6KH# 15,Z92E ,E;$Z'Z>;:V#'%MV0UYQOEVU8ADVTMC.S6J'%2
MP4URTDF<NBA#S#%9G()Q0R<>BN=D=0[-11,#'3$?7@9DQSA/$N(9+(4MB_'M
M6H+_ "Q<G61<DJU6*;PR=SOKYBRC9"XSC9F5)JZL4DRCD".778"KD4P,H)C>
MO RCP' <#H\- Q4?>KM.MXV/0E["QJI9.4;E=?F$@TAVKYI&-I%190[<Q&)U
MG'LE1*0I2J")NIC=>!WC@?!5JW74;++(IJ*LU3K-5#EZG;K*(J-CJ)&^I#G;
MK'((A]2F$.!]^ X#@. X#@. X#@;5\Q92C%[&231N_CI%HX82#!XB1PT>L7B
M)V[MHZ;JE,DNV<H*&(<A@$IBF$!#H/ KYW$\6.EN]S372$V.QFXLU)U>L+J?
MQEC6#GI&J8Y43=Q,=#'KEHJ<&=HPF:LFQB&I$VA?8[$T?: _L**I*!-['^.Z
M!B>GP6/<74FIXYH=78I1E;I='K\55:K!1Z(=$VD3 PC5E%L$"_7HFD7J(B(^
MH\#N7 <!P' I"V:1*;SS>+%5R*W8343R##'!W&]CYY1PB1UT* = .+!P/<(C
MT'H3[0#@7>_\>G[0^H?M#]H<"C/0CQ(P.!=:*_$YHBW=HV0I;S:Q/&,M/7@]
MNH^%S9LR)DURRL6(JPR;L*759RS5*P,',E**1[N?!5=9N9V")0;E" NJ_BU\
MC>!?'1E335IBK5.)S!LKAC^5.0]I@V!MS>Z4Z'9LG]*IL#+4:(P9*0$_!XYQ
MRX^.S8PLLR:/'2[E=93Y+IPX.&;8WQ ;>JX/N.#\LK>-38^D2+.CNJY1<C:\
MW.C4U6YTAW&,X*S2:6(%J<O"1$-#%>.31#=-\$D_,FDJY10,J(AI)?V^-HJ,
M?C^W8(WNS/6LO5: EJG:8_(?YW:,*6"FRUAGK6GC:@0M<MM7R_@O&5:G+$J:
M,B:]<2)G3;MOG?*.B B&?L4>)G8&!V)R/G:V[OY6QW/3FM6MFO<1/ZY$JL,:
MZ)8=C;T,].9&K6:J;F590K64N'M0O67?R!D"J.'CQ1RH/0)*:XZ/9.U-\8]S
MTL;Y5<[ W6!Q5L-2,8VR8AX2CK24;=_UTXQ?6)-)L!(EJ[BD; V:O'ZQC$5<
MBJL8P)B!2AF?QTX\E<#:6ZMZT7R1K9<OX"U]Q!0<HU6!L$9.*U2RQU-9M5&K
MP(Q=0$V;I1BL+)<Q")/$4Q41$Q/7@?/<?8S,>O\ 6K%:ZQ4\*4G%%.IZUQR'
MM%LIE<*GB''+-NLX268'H=-92^2[M. 9-$$VQ30K5P=RFFB\46$4N!7IJ%Y0
M+.W1RYD[?G9[3*F8PG6=>FM7<=TA-S4L\V2CI1)7TWD*YXK<9%R7=H1E<W;]
MN%<@UTAGA9]JKU%NX5^*0(BK?W)V8[)L;CG!6(?#WMU>S9@A7]DQ<QLEKJ^/
M<LVBHQ+Y-K)9 DL7.H.?_0E'*DX241>SDFQ15*<!%0O40 )<^&]S:K=M)YE<
MHWC&+S%5LMFY^.8J<J$Y.TJV6>KR5=UUH"SZI2=IH4I-5R6:PIYPBB'QG2I"
M?*,!NBGN% +\> X%*>S2!''G/\5JAR]WP-5/(LY2$#&**:ITM>FACB!0)[@&
M0<"':(F*'=U[0$ -P+K. X$2=H].,;[1#1;/)3-JQ=F[#TA)3>#-A\8.8R+R
MQB*;F&1XZ:- /YB,FH*;K-ECC?%EX*79/XB3;^BJ'>5-0@0BJWC5VNR/&ED]
MR_*GM_;[U'R0I5\FH4S6].L;L:\Q $HPTU5J?!6&7M5KD#%%S(.WDB+05CBD
MW;)(% HADZ;\6-4N!"I9 W9\DEX1$K9NX:N=N;%2F#Z.;)J(#&/8W%%?Q_'K
MMG;=4Q%U12!TKU$15[A$W XR1\(_C!G4'*5IU>87=RZ=?+5F;[E+.-WLP*BF
M@D()6BSY-D[ @CV-B?PTW)">@^GJ/ YE'PM>*U*0@9,VC>"73JMJ)JQ8/X"1
MDFJ@ID!,"34?(R[N/LR)RAU.G(I.DU#_ (S%$WKP.O/_  =^+1V[;O6&I]?J
M*J)SBHCCG(69,9L'R!Q.8K"1C:!D:N,'\8W%0WL-E4SH-RB)4BD*(@(;*&\(
M'CQJ$T^L.-Z'FG$LO)M'3"0>8LVUVII0O&;OVQ4:N$HS,0(J(%,F D)V]I!$
M>@>H\#O=$\8%)QE56%"HFW/D"K]#B7+QQ$U0FTT])HQ@/WAWKAJWLTW!2=[5
M8^X<2IHK2RI$B?Y *(F$0[Q.^.O%%B;)%?YQWE0DTA;F_/8?>G:. ?'4:J(J
M(*G80F3&%;]U,R/H)6!?\QA^H]>!LV?CQK<:HB,;MIY FS=!D9BFQ<;?Y)FV
MXD,JHL9PLK8SS#YR]ZJ=ONJK'.!"@ #T#@?%GX\(E#YJ;W<CR$S3-^15)5B_
MVML[1-)-8QA,5F\@HF'EF1BIF["G2<D.4H ("!_Q<#KT7XIM;Z\45ZMDG=*L
M31RJ?(LL5O-M2K-/5U':C[Y3X9;*<G&/' .U1/\ Q&QB"/H)1 1 0YZ3\<U3
ML#-M'V;;#R 3K5FF*;0I=O<C5A9(!Z_C</*(:IO954O7\)GJCDQ0Z]!#J;J'
M!?[76*%#A\S9CR&OVY5'2R+-QOEL<FV06= 4#J)@RNK-8XD$O4@'.<I1$0Z=
M/3@;>P>)#3^[FCAR:XV9RTG&(F;HM,F[F;76J.624/[BI7,8MF%O'J%6-_G*
M"0%/T#J'H' XV'\*OBRA_:[M+<2SXHIF1(I=S6[(2PI&5][VEE[Y:+(LX2(K
MZD*H)@)]"] X&1R>*3QEILPCRZ!ZABSZ% 4#X!QJH4X$$HE!4RE>,=4"B4.G
M<(].G W<)XLO&K74W24/H5J.T2>.$G3A$V L:.T171,)DC))/*ZX3;%3,8>T
MJ8%*'4?3UX&5DM)-,46C=@EJ-K&FR:(_&:M28'Q<5%NA[0H^T@0*MT23]DPE
MZ!T_"/3Z<##TQXI/&5/%7++: Z@N@<JF76'^G_&C<PKF,)C+$.UKJ)T51,(C
MW$$H^O Q9+^$;Q4RRR*R6EV+ZT*"@*%2H#^]8T;*F YCF%VTQY;ZNT>B<3>H
MK)GZAZ#U#IT#?0WA5\5D'[XM=(<*/#.5D%G"D['3MF56,V)V(%65LL],*JI$
M+Z"03>V;[2\#EE/#5XJ% 4Z>/_5I RIU5#JM<45YHM[BR?M*'*LT0;K$,)?I
MVF#H;\0=#>O [+3?$UXRJ#)I3-6T-U692J,<E%$D7N&:9.O?AHK%<)D,YGXR
M3445]XH"*INJQN@=QQ .G [+DCQE>/'+C1DRR#I1K+/H1\DXEVHEP[2XATE(
M.R*ING /H&*BWAA<E6-[A3',0XCU,41Z" 8F_P!ESQ6_,5?_ -#6!P=+%,4Q
MTZZ]33(4RIUA!!N25]AM^-0?^V4GH/3Z>G ZT/@Z\7*('+"ZNM::BL*PN6>/
M,MYYQW&O/D*IK+?.C*5E*#8/>\Q.G\1,W0AA+]!$.!S#+PO>.-F*;=;!5AG(
M%(_>2E6W/VR%QQZ(>[[WL+8_M&79:G.V??UZMUF2B @(@)! 1X%B>/<9XYQ)
M58RBXKH-,QM2H4!")J-#K$+4JW&B)"IF,SA()DQCFZBA" !C%3 QNGJ(\#S4
M>9*L;D[![W84U"QK=:Q<]=WNL,[MJ]TTMR:E+@=Q;Q@/,5:CKK@*PY:A9",M
M:32S4&UI/VD<58T2+F/ ))!1HJ<Z893\<.>L8*L_*KY-ZMC.8UKUOKZ%6Q^T
MUTFJ[&8]L,+*Z3XDE5<D7>W4..;,X2HV^WK3J$ V0)[BIHZ":BJ?J)$TPQGJ
M52<>4OP4[$YVW+GY7'D[Y,HW-^SN<9JEQ))6_(R>WSYPQQ;4:)!R"Q#V:S,J
MI.P3*&CU.Q-0ZA2*^VE[BA0S1XRE9#4CQ^[29CN&:\T6*D814VTL.1\5YNQ)
MBW'UXQ]F.AS]IN65WA[1BNT7B/L[5R_1,W9E;2CYFV3Z)@<JR)R%"$.&\6-\
M,YK_ +5JG.H9O'WM[C#;^[6<THLH\DTGV6];Y7+=T9$$J(B5Y^K;FZ5(NH<H
M ?J4W01Z\"WSSCX/?;*Z(S&"Z2CC=;/60,Q849ZPK9-ND#2(6*SS%WIC/5>>
M8.K SE&D_)P<'%2CDT,FS>J2K)-PW%!5,YR"$I_'Y>;3D#6^!DKXI@-U?JS8
M;-C6_P AKC(RS^@R%^Q?)JT.\KO$)K'^,W\):2VV#>E?1HQ1$61P B*BJ7:?
M@2ZMKNS,*M8WM+A8RQW!I!RCBK5^;FE:Y#35A19K'B(N6L"$7-KPL:^?E(FN
MZ(S='03,)RI*" $$/-5L16/'WLI*XSV.\K>Q,35)NF["1F&*]KK2+M[>&L#[
M>X3D5FMI;PF9JCB7'^=K*+/\Q9K2KN:E&U:C5GY>P"E4;KB'IN;>W\=#V5/=
M1%),4E?<%;W$C% R9_=,=0RO<00'N$QA-]>H_7@??@. X#@. X#@. X#@. X
M'5VCRTGN,XQ>0[=&G(0, Y@IXDJV6<2$\X>3:<_&+0Q6:;Q@2-:-V2A7!UU4
MG'R!*0I!2.)@[1P' <!P' <!P' <!P' <!P' <!P' <"D_9QRZ;^=7Q6HB]?
M"QD-4?(8D2/44 \81XS1P4X,\:MRJ%%&25;G[%53E,!D2$(7U$P@%V' IFA\
MR;F8BW>WQL]MU'VHS9@5Y/ZX1>!7>/;!B-U28K',)B]-+)%KHM3MN3JQ/3-K
M=9%L4@,I'LF?S5V[-$0]T2D  C_5LA>;+)^8JFBA!/\ "S^=M^18O*]+R%A7
M%TKJE@S%"57N3''MCQSE:+R&XS!L-EA:Y)UQ^N $B8Q=FM(MCLV94T5#!T>Z
MO?.72L"2VLK[%Q\K[!; 9"I=6'=N@9KJ"^&\74V><BPRW96E04QO3\@Z_-8B
MFPXC "A#7/X<O*'7*L=9!),X=Y;Z9;?YIUTR-@3=JT;!6C,6LF)+.SU]S)K%
ML'D?"F,-G$9C'R2V/CW@E7MM?N5CSECZW0YH61=3J#5I))@E)@D)GJR:8=4I
MNK?D#P=A75MUI;6+%4+W/^.K*X94KV=LGR,ZK ;YV^)UWFHR]Y;&]2]V5L-X
M??IRR1C98YGL5&OS&,=(&QSE4#IF-<=>>3&^=\-RV-YELWQ!DE*?:Y;QWO5D
M^/V7>05EJ%0DY!_D^P7W =>IZ6)TLBV)^S8U^IU+\RB"G8BZ=?#*)FAPFIXS
M<1[KU';7R@9BW0Q1BG'TKFS)6MIL?6+#U@G++1[W"8VPFO5).4KDE:V49;0K
MT:*S)("2+1FL254?E(C[1"G.%MF0\;X]R[3YC'V4Z14LCT.PI(H3U,O-<AK;
M59I%!PB\;IRM?GV4C$2)&[MNFLF"R)_;53*<O0P / XBC85PYC!FVC\;XHQM
M0&+,2BT9TJC5BK-6W8D1 @((0<6Q22 B*92E H  %* !] X'3L=ZM:]XFS#F
MG8+'N*ZQ5LT;#N*RZS5DIFBZ7L]]_1L82)KJ$D]?.G8,F$<P3 OQF16S=50/
M<4(=0 . 5G>")LPLVJV=MA3(.#VO:3?3=;+5NF'Y ))3 Q.>+7BFH"\(4?;2
M",H>.8QJ1,@%(3VC" =QC"8+K^ X%4^=<,Y7M'EX\?6<*]C^3D\18HUKW<JV
M1LD)"0L55[!D5;!R=)@7XJ.4S'=SRM==BU(DDH)B(K&,( 3@6L<!P' <!P'
M<!P' <#Y+(I.456ZZ9%D%TSI+)*% R:J2A1(HFH4>H&(<HB @/H(#P-44DT$
MDD$2$2113(BDF0H$(FDD4")ID(4 *4A"%    Z  <#Z<!P' <!P' <!P' <!
MP' <!P' <!P' <#&-WPQBS)%NQ=?;Q2(.QW3"ECE+;BBT/D%"S=$L,Y7I*IS
M3^!D&ZB+E DQ7)9PT=H&,=LY2.'N)F$A!*%0/G5L"^0L#88\=]&D%664_)=G
MVD8"3:Q*38DFQPG SD3D'9:]F.LF*2+:N8S@S-S+&Z]5Y)(OJ CT#IOD$TAF
M=K-N=,==:I;L!53#.#-2]C)HF*\MPA\E$R$>9/B7#\)%J8L@KMCJZ04+4:UW
MG9W&'DVC^'?*]K50B_0.!F7R)59MK]XT8W4#!U)JD/:MEY;%^C6/*E5T';"I
M-9S82=3KF2)]N6<D96?5CXFD+V:<57>.G\BJHD*KM=4YE5Q##FZ457JIYB?
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
M>;!CU%&6)/5NNUVSOEG$6Z0AW$99GDVQ8!&RYR_$?O&[B!6!RD0>] #I"/\
MG#H'<. X#@. X#@. X#@. X#@. X#@. X#@47[*JLT?/]XP 7[A<N],=\&S,
M  #%(X3=XK= 8WH(D S1%<.O4.H] _8(7H<#\ FF F,":8&/T[S F0#'[1,)
M>\W3J;M$XB'7Z=1X'ZZ 'T  ^OJ   ^OJ/K]?4?KP-?N_9]/^?\ SX#Z_7UZ
M>@?L#T'I_B ?X<!T#[@^W[/O]1_Q'@.@"'3IZ!] ^P/^' TZ!]>@=>G3K^S[
MOW>O UZ=/IZ<!P,#;2YO@]:=:L_;"60HJPN%,.9'R@^:D7!NO($I53E9Y*+:
MJB!NU[*N69&R'0!$5E2@ "(@ A#'PMX7L^"_&5JG6KT@5M?;G29'-]Z1$BQ7
M25KS[9YO,<LA)J.5%'3F7:J74$G:J@E.HX(<1*3T( 6C\!P.D2.2L>Q%\KF+
MI6[U2-R3<(::L54H3^?BVEOLT#6U&24_,0-?<.4Y*5CX8\@C\E1%,Y40/U-T
M#KT#N_ <#4/J'[PX'F<T3K/E&VEJVS4K#^6,]4KF)]Z]H<'5E.7U#P]DR?<5
M+%V0%H:*8O[7/2<*<Z#8XJ-TVZ2 F0(CV@N/7M*$[XS4'RD1KFP24QY@F\@T
M7*JXBV3K0[ :$5"I&(11P8ZB5C;/56[4J0BE[C@_:!C"<Q_3H$)-0KGY3]R\
ML9]<8C\D&+YS2G'*;#'./-IV.E^/#S.:,WP:J"63DL:5P]U_3LOC2AOBK1;R
MPF7.B_F4U$6"/MH*K@%@<?K'Y26";EL?RB8ZDDE1'V'LAH/0"R*/8*7MG[(W
M+L<P.=<"F!7N2, =>I #@0M\@^2?*'I?A>NWB&WKP=DC+V0,F4#"&O&%6VE4
M7"/LY9MR5/?DE:J$A.N<W2WY!$HLE%9)^\:MTOB,V"QA$W4H<"8F.L*^8-.A
M5Q/)>]^IJN0G3)Z-N4K^E<\_A8I\LY^0Q3K,BIGVM_FR;) ?CG5=1B!50 5
M3 PAT#LM?P]Y8T?=-9=W]2GAE"NR$3C-)K>BDAT,<L>LF979LJAU3I=IEP.(
MD]SKV !?P\")^QN=O)O@_,VO.MU&V6TCRIGK9BZR;&BX^G-9,HUAU!XEIL>Z
MF\KYKM;J&V#E2)5W'4*BD4K9,A%):4=H-$#E$RAT@F03'GE9*HS4-M'I4LF#
MM55^W'4[*R!5&ASB5-JV6+LHJHF9)$>_O, F%3\(_A]>!^I2B>5LYWB4-L?H
M^B@1L/Y:\D-8<P*NUW9S*_\ X0:H;#D;-VZ)?;[?:.<QA[NOIT#@8>R[=_*%
MK]C"RYDRYL?XRJCC;&L.K:,C6^VX>V'KD+%UJ+3 \HZ,\1S))&2=KE_"W3(D
MH=5P8B29#&.4.!UG5[(/FIV"PQ1<P9#A-&=;Y&ZE=S[/%5GHN;;I;F])DT?>
MJ#^QO8W(\.RJUBD&QTW2T8)'BK9$Y4ES)N!.1(,\_IWR]>^7IE3QX"U)ZB8<
M/;"@Y7ZGZB D#+/MMP(F'0.@G$1$1$?0.H;9[#^88AV)6%^\<JQ/>43?*NL<
M['M3F;&(4".44D;V^)\E(X"/M&.0AP'_ #ATX'&R3CS%QC%9PK.>,1)C&][Z
M0L4M'[.QC0D4RZN'QWK/\U5;QI09IG$[@SHR2!2]X@8/3@1IU'VR\M>Y%'GL
MQ8_QWH#5\,A=KG4\3W2VO]EVW\^:S6G(1L?F>DQ7Y,A(1N,K-*-UR1*CL 7D
M6I?EDZ("D*P2<=2?F:*FS29U7QHK+F IGSI6U[-I-BB44Q,FW;!6%%.JH=P
M8RH]O4!Z&Z#P/PG+^9SWCF5I/C3% $TP(D2\;+E6,K[G:J?WAIYR=GMCW 7L
MZ^G3KZ]>!%5UN9Y9YO=1;3_&>(- [L^IN+R9.S=>F5WV)4IN%?S1X9O1J%<I
M\U,:ICD;)C,_SXN+:HKKH1J"KIP4J'MF5"5*]D\S0-Y%1KBKQLJ.$.\D:V6S
M#L>F5Z?N3]M9RX)B=4&!.PQNY,"+&ZE#H;\7H$9,\9^\R.M..<X[:Y*Q%HM/
M8]P;@6WVN1P]2L_Y=;HSXTXSBXSEJ9RT_@5N[2M(UZ+48LVBKPC$_N!W"4_\
M3@6Z:XY?1V"U]PAG9"$<UE',N)\?Y0)7'BQ7+J "\U:,L@PR[DB:17*D8,C[
M(J 4O?V=W0.O BWNCY)<0Z1WO#>++=BC97-N3L[1=^G<?X]UFQ&MENV.X/&8
M5P;A+R,8G-P?P6$=^J6G0P'4,/4PB4H% 1",>/?-54LQ7N\8BQ-X_P#R2V3,
MF.&E9E[SC2SX#IN+I6I5VYHN5JG8;),9$RM7ZY%L+*6/=_ (+H[AU\-8Q$Q*
MF8P!*:*S-Y![XEWU[2[&.&&ZJXE2=YZV6C)J8!N8OX%W%3PE2;NQ24)]3)_G
MIC#T$O4HAU$-)C"_D"R6Q*WM^XN-L$H*K@+MAK9@!E-SQ6IP4*JW9WW.MFNK
M)%8A#![:Y:V0X'#OZ?0H!R\-X]<*/(-2*S=:\Y;4.W0*?F4CL5F6YW*->BL<
MJBI$<>PCVK8JAFIA#M]AA!-DS$]#@;UX$M,>XRQUB6M,Z7BRAT['%08=?A5:
MBUJ&J=>:F.!2G52B()DQ8%64 @=ZG8*A^GXA$>!4%;-7O$-Y+MZ;)EJZ15=V
M&V2U-QW'XGR+CFS'MQ,?U^O+VJVOZNXOV/K!%1E4N+V)GPES1RZ@O&:1^JO:
M=1)NJD&9\#Z">*.TZV6S".LF-,(S^ND[F8F4+&QPAD)[)1C3-E9F&DW&3B%S
MI5N6FZ]9::\;-@CV[=\W",;)))(IIH@4O D-@K2;6'4B]9KSAC2$L<!<\S0-
M*9Y>O-[RID7([^5@<3Q\\G5@6ELEVFT.HEG 1TV[Z@@JDD8G03E'L 0"/7BI
M9#D/&.9]V),'"\YOCG6Y9O@';]!=%\TP17%$\6ZW027R^UR2')B>GM99NF8B
M?8M-+F H IP(U;R1ZI?.)X19<2'!L>L>02,%8%T"%]TFO9WO9[0F*N8Q"?B$
M0_"(>GUX'!^<#;;/.!W6O&/-5<5Y>N^R\W 9XV!Q1+X^R,K6*T4=<*]79:X4
MR[8L^&\0V0A[57+6<7-/+\:079(JK1[IJ\(DL4-?[??$..<%87VZQBVE%I#9
M6*W+R)9]O2-&<A#4E'*>18&NWRJ.<65F2 )"LX[>XLLD1\9B]$TBT?)NT')C
M'2 >!?X(@'J(@ >GJ/H'J/0/7]_ ICIV2*?L_P"5[%F=-:;LQR_AO"FJ^T>N
M.>[C1+0C*4NCYB>Y7P79*34IN+*_0(ZG9!K"3OQG[=L[0.#-RB58IDE2@%SO
M <!P' CIM=M7A/2G ]_V3V'M)J=B;&T6C(V.9;QSZ9D5%GS]I$P\/#PT:@N]
ME9F;EGZ+9LB0 [E5 [A*3N.4*P,<_P!PAH9=Y&OJVZL;9Z_XYMWY:%6SUL/K
M#D7&V Y@9@4TXQ17*!FTM"5V/?.%TDD7TM\!@JHL0"KB!@'@7<Q$O&3\5&SD
M)(L)>&F&+:3B9:*>-Y&,DXUZB1PRD(]^S46:/6+QLH51)5(YDU$S 8HB @/
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
MK3Q,:1D!FI,4?*EP?M# H:7NNS6R]GEGRQA,9=Q)/)++2AW:KI0W<KU "',
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
M11Z+'5@C,$02 R+MT<_?W=@=H\# 4SI/O%;D"H63RSYS@@6?-W+T,2ZY:PT
M!:E*(NXZ.=35'OLO'-EUAZIG%TLLF0 *8R@]3"&Z4\:<^_F&,I.^23R;R[=
MK/\ ,()KL)1ZA#S*C5%-)3Y'Z#P[5Y2-1>F()U"L7+4W<<>TP="] [FEXP]7
M7Q'?Z\?;&9?7?)O$'+K+>VNRMT,=J]("9VI&;O*",4BD@7K[1B-RJ)]1Z&^G
M0.0KOBT\=E6Z*,=/L)23H&)8Y64M]5)?IMTR(?W$V[^<NZ]AF)$B:@]2>^LH
M)!^@AP))T+$&O6N$#-.<:XTP_@RMJ(HN+*^I]2I^.8I9&/3$K=Q87\4QB6ZQ
M&*2@@0[HX^V4P]!#J/ P5.^2KQ_5Z0>0S_<?7=U+L'*[-W"P&3ZS:IA-XV$@
M.&98FKO9A^N\2,J4!2(F8_</3IUX&P#R+:R/GI(^I&S7D=54BQD%\8ZR["7V
M.<F;]HK(HRE<QH]C15)W=>TRI1'IZ!P-U';L*V%8K>E:=;Q6?W2KB15]@R-Q
M0W.""A$QZKYYO&*$4@4[^XGN&)[A?4H" #T#'3G9GR$SCF<:4;QGJU]%B\41
MAYC/&WV%:<TF6?N""+T(W#T3G=\V5,D "9!4Z788W0%#]/4.VQLCY/ITY5'M
M=T8QVV5 IU&ZMBSKDV38%5;@(-^]K!XZC'SANX$0,H4Y$S%#KV^OH')_RV\A
MTF8BCS:S6^K^XV/[[6!U0M5A3;N^\_M_$<SFPT>HHW%,P 852=W<7J   ].!
MQTWKKNO:W:))GR"?I6%*=F*[;$FJN+ZU.*E12['8(SN2;)F)NU%XI^/J#(_M
M#Z!U#TX&\8:-&=DZ9!V]WBR*LJT=M'IUM@W6+FSPKU(I%5"L< UK$*$>H@?J
M9$S;VC)_0![1[>!OP\>6LSMJT9VAEF3(:+)HFQ1#)NS&Q>03&:)G.?V5QM>4
M)/Y!5!-^/O[A/VEZ]1* @'9XC0G2B$'O9:K8'77 $@^7,XTJ]C>C[ &*B)GM
MBCY5TH*93" =QQ]/3Z<"F_8S7W!43Y]?&948[!&%XVE3NG6[#N2@(W&U,9Q,
MO*QH5$J#F:@FT$E&/1C&RP%:*JD4,07*P%[>H]P7B):EZIH'!5#6/7I%4
M52POCA-0      Y:V!@  * ?\.!D:OXKQA4W*3VK8WH-:>-SF4;NH"FUR&<H
M'.7L4.BO'1K95,QR^@B @(AP.^B(C]1_\!]/\.!^1* AT$ $/N$ Z<#7@. X
M#@. X#@. X#@4_9M5B$?-YH25R=;\V>:-;RHQR:0]4NUK?\ 6I=4[HO7\!#(
MJ+ 4?^HY0#_IX%P/ <#4/J'[P_Y\"J;POQXQNBL6W%4R@FV0W36Z'*/N) ?;
MO-(%155,8YG2B92@ JB(B?ZCZ\"UC@. X#@. X#@. X#@. X#@. X&@%*'7M
M*4O</<;M  [C>@"8W0 ZF$ ^H^O UX#@.!2WYYMJ<.8)\<.VN,+G8W:F5,^:
MN; 5+%6.*Q#2-INEB <?R3"QVU6$B"*+P^/J(UEDW<[.O3-XV-:^IU#*F214
M"S#5V./#ZRZYQ*AQ4/&8(Q%'G4$H%[SLZ!7VYC=I2E O<*?TZ!P(,[3+K)>5
M+Q5I@V4,W<X]\A:(.TR@(-W08RPZX2]\1#J1N9%LH'7Z"H)0Z<#KL"55/SSY
M'!5N*1'?B;Q>HT7%81!T1EMQDHKH00 .@>TJ[(7N'U >O3T$>!;YP' <!P*/
M_*Y3+;;]I_$LRQ=$8)8Y6/M'E*8JF1LU8J1R4E6G./M>,A9 80$<JUD8*R0$
M=9I2$3]Y>,?H/4'C=JY2*H9OV&").!LP[G^1G?\ OFK>R+C5MU@'1'8:&SKE
M"/U^6RK-OHJ_T()"*P;KID6?OE9JU9MSM2]$/?'2L>BX!B$$BS<@"ATCB'IV
MX#@49[TJ/6WF@\(3EHU9N4S-_("T>B8!^:U8K:WF%P[+VF,8S<ARID !+T[S
M_7@7F<!P-0]! ?N'@4%0O@,PN&3MWK/<,T9$G,>;?,LE1,-1J_%U>HV+$41G
M7)5&R]G%HTR(A&2<Q<SW.XX[C&K,\@AUBH-(S1+\1A6$+Z(YDE&1[&-;]WL1
M[-JQ0[A$QO9:($;I=PB(F$>Q,.HB(B/ WG <"$<AY&M,8S,S_ CK.$$.0H:\
MP^+;"9M#VIW1ZKE.Q.@8U_%ELRBV@5<:UG)DX^$$&D$]E49-98Q$P1[SE 0F
MX/IU_9P(^4/:_6O*68\BZ]XWS=CB]9LQ"U2>92QK5+,PGK/C])=P1HFG;&D:
MHX3A7?RU 3,@N<BY#^AB (#T"0? PKE_9# FOSO';'-V8<>8H>Y;NL?CC&+:
M^6>,KBMZODJ7NCJM6B22Z RLNZ$2@5)/J/<<A1$#'( AP^!<-X[U%P5#XN@[
M*_2H5 -?;,[L]_F8=-T@6V7:T9&M4O/S"+*"AVK)M,69V;W!1021;E*!A$2B
M<0[+B/8#!6?F$W*X-S'C',,;6I082Q/<:7BN75M!2_:<Y8Z75KTB_+'.U4TS
M&3(KV"H0HF+U !'@9=X#@.! #(4A%QWD=P6,ZSK0Q[O4'8I1M,3T$Q%Y#NX;
M*>O3U5>(MKUJ)8Q)1H[5!VT*X3%8@$5,0Q4>XH2@M&PN Z.5%2ZYRQ!3R.#
M1N>TY/I< FX,/X@*@,M.-"JFZ#]"]1Z<#&\MO/I5!,1DI;;K69DR!4&Y5SYU
MQBH*KD3^V#5NBA9U7#ET)@'^&F0Q_0?3T'@8\>^2[1YD154N>(V501,)1<UF
MEY+MS18P%$X@S=U>ER[9]VD 3&]DZG:4!$?0.!^W._N+9(RB.,L6[0YE<BW2
M59?R_P!;,JH1;Y5R4X-V_P"H[W!4BN, %4@E45=.T4$?J<Y0]>!\H[.F\-S.
MNK5-&*_C^)59,'D4_P!A-H:G6)Q7Y@HF6;2%1PM1,\ECWK)$YC'2/)E_$4"]
MP&$0*'UGZQY%;C'*,8W+&JN#!<^X!I6N8OR1FRQQI <"9 8YU<;OCRMN5P:=
M"F,YB3E%01'L  Z"'7&&CN2;$Q9AFG?S<G(4B5059-O0[-C_ %XJ\AU#\**4
M;A^A0=M8-RB(_A+/'$>H=1] X'9V'C@TW#O_ %AB,^:3J//S'WMC+YDG8Y1-
M^(![CIHCF^WWQE'&<& #J%;)(D.H &$!$ $ R.^F-,]8$T&TE):QZ\(IG,+=
M%^^Q3B5,AP(F8YT2.EH#H?VSD$1*'7H8H_;P,52_E(\<$&J[1?;TZL'78'43
M<H1N;Z'-K%.D'10I$86;D%'';TZ?PP.'7]O ZX'EE\>[II\V%V.B+@B8ASH!
M0:+E3(*SLA"=X&9(4NC3JSLBH=/;,F!B*"8.T1ZAU#ZLO)SKC/%$E,J6U-Y>
MBJ\12C:WIULO\U=1BB#A4$PG<:0;8A5$3%,D914A%>X *(B/3@=+DO(QE21E
M6L?C#QB^0>_,E@5]^?L%%Q)A6);G+V@D I9BR_4)DY%C";\?Q"D(!>HCT$.H
M<K7MH/(A>7*J<!XR$,<QRWR/R^:V W'Q55Q("0 1,\G7L/4_.LPW556Z]J9!
M.0R8=WNAU .!*37^:VIF6=K7V=H&$* ^";0+2(S#&1[GDE ]=!D47:MJF+A0
M\?"G,C(B((E9LS(F0#J<2'Z%X&?9'YWY<_\ ROXOYG\)U^6B^!<S('_L'^&+
MTK4Z;DS0'';[@)F*H).O:(#TX%5086\Q-XG%7-LWFU0PG6UESJ$@,'ZAV"]3
M+)$WOD!H%OS'EQPU>%(D)3%6_*4U 4Z=Q.WJ AD:AZ1["QUOC+5EGR9[=Y29
M0[^"EFE+A8#7G$=0>OXE^1\_:SZ-'P^G/35=G2D]A9B=^3M;B8I5.X0, 0WV
M212+_<)^,5=5P4ZRFD^\*23</>#VCHOZ*<JP$!442^^BX4+U[>H^UZ]?P=H7
MR<!P' <!P' <!P' <!P' <!P*?<L()/_ #CZ;#[BI%H#0';EV8A03%)0DOE7
M!#/HH)BB<!(" &#L$!$1]?3@7!<!P-0^H?O#_GP/-[X^=O+;':M4?6#4JIQ&
M;MJK!F[;21NBTFY,WPQJI6IO:C-;IKD38B6AG(RD>S7*0WZ?J;(2V*RG( %!
MDU[WB87V84JF3*5C2MU[,651S3DIJD\7M>124V%Q^SFI!^_<OO8BJ= *+Q\'
M#Q"+@K1HD*SA<6Z!#++*JF.H8,J\"*6YFXV(M%L)N<[9H1N+ZKEN%+Q_$PE
MK2]LMUDNN0IM&N4^N0<,BNU35>S,RY31(=99%$@FZG.4.!BG6[=K(^9FF5YC
M+FDVQ.I\%C>ON++%'RW(XLM-HO3.-(_5FH^&HN(KQ?;,UGF+=H11)HHB<SP%
MR%1,93\ A#2H>?K4Z7D,]57(.'MK,%95PG7Z%8X'!F7,2-(;.&>V^4W#]ECJ
M+P9B^#M%AM=ML5I?,>TC%=LR6:(J X= @@FNJD%G,!MCAN3R#6<,6&><T'.M
MCU^#9M;#-RC'T==:UB5J_AX2?FK(+9)_ ,754LDXA&R#<CY51-UU[ .3\7 K
MWTY\Y&I6Z>7WV,J!"7>FUF0E9V&QCF'(L]AR$H^6I*ORIH=5A7H!KE)_E*NR
M-@<E]R%;3E?CEY5#J9(@'_!P,W9W\K.M.L\[EN(S;3=IZ7%X815?6J_$U-SM
M9L7R$*V8C(O;#6LBU*G3E5EH"/:$.9PZ,X230!(XGZ 41X&1*!Y'=6+OC:)R
M],V:WX<QS9;/C6G4VT[ 8XNF%8R]S^82J'QHTHSF^1$2E:RVXJ0_&.S%4I>H
M"H) $.!*EEE;'<J^R/$0ENA)^=Q$=!#)=>@'J,U8*4]>5Y&UQT;8(6..O(,)
M23KKA-XU;'("SA!0IB%$#!P(A6/R>:8US"."<\IY2=6VL;/M$W.O%4Q]3+?>
MLM9C5*@HZDV-%Q'68>1OTJ]K3=!4TN7X1$XOV3@Y.F;H!@E5A#->.-BL75/,
MF)9QQ8Z#=&2SR$DWD'.UE_W,WCB-DF,G7[-'1,]"RD7)LUFSELZ;I*HKI&*8
M.H<#*O <!P' <!P' K7\D^E+'9C6/<4F)<=4J4VTS3IMDS5ZB7JPNB1,D:M6
M=G-2<=1QLKPRK:OP#^TR/R%A*1,BR_MBX,*:913"$=A\AF\VBNM&-"YZ\8AP
M0H5)QOBF,+4]VL*6FY9<O\?6XBO,*OB'';&OO+K>[5//&*ZR48W14? V2.MT
M4(FJ<@="PUY ,3>27<CQ%YOP8QMK19MC7>*>S#CV3A)IPYPN6P8NJ%>8QE[L
MR,.VK'YBK<H3X#,Z+DZ3D3F$"=XE[ F&V1,7SW2+LSGH1;Q%Q[ C4QQ+U5:;
MES3@54B&]%1]IST,)0ZE#Z].X.H6_<!P' <"I3RQ0*$Q$Z6-ZU'Q</G*S[Q8
M8QC@_.;VLH6R1UIF+VSL[J]96KD')/&U>DK([QS4Y*%CTI0CEC\V21.=!7L
MA@@KXN\_8_T[SCY/=<-@KA(##07D!M$XRWBR8SJ]<J68+[EC'%&R#+XVR7=H
M*.@ZA5,AX\0D"HHE=DCXMVBL*37VEDCMN!Z,:S<JA=&?YC3K76K9']C=07U9
MG8J?9@F[2]]J<742[=H 1RC^-,>[H<GJ'4.!V3@4E;T,T6OF#\(<Z!U57#Q_
MY JTLV*<R";9D?5MU-?F)U0$0<]7;%-#V.WU%4#B/0O3@7:\!P' <!P' <#S
M0^4W$LUE/.ZM K9_(;?+]#KT3*^J.'->,#UJLZ:X_P!D(%=P^I^<\^9AD:XE
M6\IIPUU:MG<TRL$B\_*69C&;L#*]%@"ZX]QS[<$\P8<;8ZG*7;JI@^N&J^R+
MQW (8OMV;[G59PCIE1(+Y4A:UV&.I]NT<OW3R/2:#\D$$P5.F<HA0;A2@^4?
M'M4PUKAJCJ+9M1)'&>+\>N\V[ 71'6&2JFR.T/ZC8N\N6S,%P+9+=DJWXHD6
MK>5>(.8**7LTX_GB@HK&)- ,</4ZW%444_D"45NT/=%,@ID$_P#U"F0QCF(0
M?L 1$0#Z\"@79OQ<;&[U[6[09(SOE^C8XP<?&<!KUJY74L75?,MCK%"=PU9O
MU\S15GMADXT,39C<YH:%(B^20=/5(Z"9@4Z290 X9&SMK)O#O9XN$\'YL2H^
M+]J(B[U26E(\TJ=WCG.L-@'+K2:KL=D%*%<28URM[*U.JH+3$<!GZ$.K)BFH
MDX13,D(28T_FK_*9GR6X=>.M'3"L36/ZE(Y)OLJ[PP2PY*S1"O#P<55X57#T
M]-H7ZBT^DF6!K/R)&2I1.1%)$ .H5,+(> X#@>=7S/0>%VNWGC!N6RF"!SUK
M;(WC,.'\V)V-607QOB:,S(.)*C1\H7-FF*4*C%1%_)'I+J/C^W\9=82AW!UX
M%K6/?'/H%BTB9L=:8:Q550"%*1ZPPACTTD!4USKD 9!_7W3_ +DUS"8!%3J4
M?IZ ' SW$8*PG 2B,U!X@Q=#S2!N]O*Q>/:?'R:)_;,GWHOF4*W=D4]DPEZ@
M?KVB(?0>!O;[F'$&((\7^3\HXUQA%I 01=WJZ5>F,4RJ& I!]Z>DHY$ .8P
M'KZB/ B1(>4S0=L=^WB-CZKD%]'+I-%HO#T/<\UR:[UPL1LS9L&6):U<U)!P
M_=J$10!'O!54P%*/7J' Z(CY#<J7E\[:X(\;V\&18U%7HQN&0ZSC?6NHS39-
M8$5GD;_/'(%7NQ4NA@,D5Q!H'5+UZ '0>!VIGFOR36,%DXW1/"=!,<IC-'.3
M]RT'?L@80!()!CC+"-V_U*8=3*)HN#I=!#M6$?3@2"UY-MRLQMCG:\NN+*17
MG$%*'#Z\'R;(L8RL_"$KEM<+#DM")=3LZ,AT,FLRC(Q J7X3)&-^+@2(<-TG
M;==JN!Q0<HJMU@3541.9)8ADU"D61.19(PD,( 8ABF+]0$!]>!791O$3XS,?
M.Y.3B=)\!V"<F9R4LDK9<FTMGF*U/YN9=*/)!^YL^6372=45665'T%QVE*4I
M0  * <"9E9PKAVE1S&'IV*,:U2)BT :QD96J'5(&/C6P*'6!O'LXB(9-F2(+
M*&,!$B$+W"(].HB/ R.V;MV:1$&B"#9%,@$(D@DFD0A"AT*4I2%* % /IP/O
MU'[Q_P 1X&@^OU]?W^O <!P' <!P*'=EDE2_W"/C"<F0;E;GTJWC2([.<Q5E
M%4'5#.NB4IA!,?C$<)F#MZF[53B/H #P+XN X#@. X#@. X#@. X#@. X%16
M9$A#S8Z+K%=1J(GT7W?35;+MU#2+HB>2-9S)%8K@!4TBIF5%0W41[BE/].O7
M@6Z\!P-#$!4IDQ,8G>0Q.\ANU0G<42]Z9_J10O7T$/4!X%.O@?QK5,<^.+')
MH"!+'3EPRCL=9<@6-UWKV3(5Q2V!R577-VMTFNF1S*S\G&038BBIOP@5(I2
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
MMA:&Q@WNF,\I91IU"E+76XEB$/DZYZ_U^\,<1V28<7",2FI%N$>A\YX8YCK
MH(* $I)/PZ:.Y,JM(;[$8D99DR'&4W'M<RO?G-DO52_J#FL?P<9$(VG-5;J5
MIAX#)CZ57BRN%@G4)$YNI4SJ*%(' G9B#7/ &OL6C"8*PGBK#T4BQ+&E9XVH
M-7II%&!% 6*U<*0,8Q7<H@L '[5#F 3_ (A]?7@9FX%!7FKU$IUFTJ\E6S68
M9=;+DQ7-,<HQ>OE*M$:W_1.NB<7CZ25E[%1X4JZT?(9.N=G.9X[L[E$)5LT2
M;L&ITFR1_>"XG6A1976_7Q5PF5%PI@_$ZBZ)# <B2QZ' F53(8OX3%(<1 !#
MT$ X%<WE,:I+9T\.R[ATZ;HL_*!3503;($7^4Z5UPV);,TENX0]IO[JWXSAU
M$I>O3U^@,J)((^='4!R9 I%W_CQVZ:)N_:-[CH([,^!'!FAE@_ *;#YXG*7Z
ME%<PC_F#H%PO "/3_'I_Q'Z '[>! _#OD3U^SCNSLQH32@N09MU5JM/MF1G,
MO"-65/DF=M+'',VJ,NE)N7DJXKP3L<5^*S9J0JCXA4A5[%!*$\. X#@5H9I9
M OY5M%7@-S'^'JIO015PF  *!'=GU723!<X!W^TJ<HE*!A[>_H(>O LOX%,W
MD.(J?R*^$,"(H*$_J4VG.H<R?<Z(8NG^0^P4#=@B5$0Z^YZAU$"_=Z!<T/U'
M]X\#3@. X#@. X'X[C=_;V#V]G=[G4.G=UZ=G3KW=>GK]W _? <!P' <!P'
M<!P.D66!@)&R4.:D:NSF)VNR\HM6;"O%-GKRHK2D,YC)9S'R*R9UX8TS%*G:
M*G2,05DS"F;J!NG [OP' <!P' <!P' <!P' <!P' <!P' <"A#89TT4_N*_'
M(Q]M-%XUT(W$>&<BL?W'B3VS5A!NR! .A ^)\%=4!]>X#FZA^ H\"^_@.!MG
MO_R;S\(G_P!(Y#M*'4QOX)_P@'WCP/,#_;M.F[U_D$6<&>):LM*]+$6ZA^Y)
M<Q'V6MVY)=B[9E54:-7#5POT-V=1-T_S&#\0AZA^ X$>-K=@ZCJWK[D[-UR:
M_G#2H5U<L!3T3B$ID:]31TX.@8PKR!47*KVR9%N,BRAV*)$E3'7>%$2B4#=
MP;X[=3TM7\#LU+?4Z'"; 9?F[!F+/\A1J]'0T2WR)D>2&Q2=$KQVC9%<E'QH
MT.U@(AOU!$K2,(H4A3'-P)\\!P' <!P' KYR1G',4)Y+=6-=J[+0R&%LA:R[
M/95R7#NXALM-/K+CBUX6K="<Q,ZHH#IFW:FO3X7#9(H@J!BF/Z$+T"P;@. Z
M]O4WW%,/W_0HCP*R_#@8JOC5U>=$7*Z+)0N0I<K@A5"E5"9R_D&5 _8J4JI!
M$'GJ4P=Q1]!^G S5Y \D;38AU!S)D?2S%D3FS9:JQE??8WQ=--GKUG;E%+=
M,[*R381[^+=/WK:I.7[A!$KE#O51+^+_ *1#;Z!X1S?@/6^O4_8K.]MV%RY-
M62ZY"M=SM[=PU=P+G(=B=6I+&\4W=3EC73KN.$W_ .5,NKLY!20ZIE23$B1
MFEP' <!P' <!P' <!P' <!P' <!P' K/\S9VQ/$UY%OEH X14T_SFW!(1( ?
M(=427;LU.IQ*4HHNE2' >OH)?3UX$U-?V2\9@7"$:Z 0=1V(,:,7(")1$'#2
MF0J"P").I!'W"#]/3[N!6AY:DW;:Z>*&<9+=CN*\K6OJ*9 )WF50G<>YA@'R
M0"8Y"$3,QD%>_KZ]O^7\73@;S-1R)>;O0XI?<.NXT9WI1.3WP(B@V+D?6=P5
M8$#?]Y599,"#T$1 "@/3H'7@6_\  @WY*L'91V/T5V5PWA2:<0F6+;CY1;'Z
MC>;=UL):SUF7C+7'51W.,E$G$;'712$_*7*H&*4J#TW>/9W!P*M_&YA]&5\G
M6V._UMQ_D[6JP;1Z_P"'\=P. \_2U(B;Y+9%IS""?[!RF.J? S+N4E<=T=Q5
MZZR&84(J60=*N'*9@:'0$P>BS@. X%:V5T_?\KVF0 *G^CT\W5<F*7M]OM6O
M^JC4#*?C!0/QGZ!Z=.OTX%E/ IPW^$3>2/PCI%,8#CG[;Y4@&)W-Q!OIO?U#
M^X<I@,1<"B(IAT$#>O40].H3HQQM7$Y(R]8L.ML([.5)_6G%@;.,@W[!=KJ6
M()D]=<@U66K>19 1AY9I+FZFCE"]"O4RB8@\"4_ <!P' <!P' <!P' <!P'
M<!P' @%OUO13=$X7 ULOU#R?=:UE;-3'%:JN+ZTZN$G R3^J66>BGDG7(MJ^
MGI-B[7@S(E(P07<@J)1 @EZB 1Q@O,WA6R8JVVRHSPCL?7([4C!]OSQ8V.2L
M5VG%_P"N*K4F[Q51M3Y"\0\,T6>OE&@@4%/QI%ZF.GT 0X$("_W N9,=QMY=
M;-^-7*&%'3+39QNABAN3-%&MQLD4TMQH5#:5:4^)78D*-*/)[(;(06<@N)4D
MU>J0F* "'?<B>;#:K >/\:*; ^+VU4[.^:LGV:CXCPY$;18;<1]UKE*H4;>;
M1;FU_GD8*'9/D2RJ3)G#'3,^?K^J7=ZAP,X9^\N^4\89-Q)B'$7CPV+V3O\
M=]7Z-M/D.M8YM>,8V4Q)5LA6)W3X6IRY[!)(Q%EL[&T1;QDZ"-<J$(LB7L!0
M!4]L,-1_E\VR>9-D)9QJ916&"&6\3S1M+'ZMTLKG;E[<(?&XY"M=S:5F-A9+
M&[N$I#<ABR;=N]7Z)AW$< 7HJ(==R-_<0T)O@:_YJP?KO:\F%H>KVN&?K WF
M+Q6X"IT2\;)Y>B<5UO 64+5"QMK3I^1ZRB_7F)1(Q%028LU#=A"B53@6VZ,Y
MTV#V#QQ:;OL!CC#F-GZ%S7A*?'88RRMF*$?P3.+CSOW$S9_R*$9(S;.=6<-C
MH(%-VE2 3E(8?4*M<]^;++> \DV.4R#JC!8JU=J>T<%K47(>:<L.*%F')T2[
ML2,'<]@,0XJ4HK]*=PUCAH*TB]?N'14G$<W.L58A2F$H9$U]\W*68\PEIEOT
MTSIAW#^4ZUE*S:9;"W-]$A2=P?Y90SZR$KN.8PL:SDF%BOU8C'$K76RAG*DE
M')>X'0QTR'"R30[.>6MF=1<'Y]SEB=3!>3LK59U;I[$KA*<;OJ.R?STN6L14
MHVLK",FVLRI5$F+AXDX03,FZ6.!0 @%#@2YX#@. X#@. X#@8SE,,XGFLKU7
M.LMCVIR&9*/59ZC5#)CN':*W*NU"TN6SRPUN*FS$^8UB9=TS3461*;M,8HC]
MINH9,X#@;*2 31T@4H@4QF3H@&'KT*)T%"@<W3U[2=>H_L#@>8?^W35DE'^8
MDGR7QQ8ZD:/L#)J)D!P91'(.ZYT3K*)AVJ&*P41('7\0%( ?3IP/4+P' J+@
MGS7R!;QVXDO$FDM4O')D2*:5$RAG3NK9LW>");OI.V N#5.*EHK4^'?&CFK8
MBJY4;=*KK*#[L<B1(+<P "@!2@!2AZ 4/0 #[@#[ X&O <!P' <!P*MLV&=-
M_+OH.;W%!CY#4C>YF*)5" 3YS6TZM.TU3$ 2J"0K<%"CUZE[C%'IU#KP+2>
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
M"R]HA'4FJ)X"H%'J<O:ZE*C7Y>0J#?+1KE66E;;VM&P.Y!0LLB\%+XR+7M,
M>MP?01#]O TX#@. X#@8QS7<9''>'<J7^&B)*PS%'QU=;?$5Z&CW,K+STI7*
MW)2\?"QD8R(H\D'\F[:$1201**BIS@4OJ(<"FWP&^5DODLU&@S9<G6#/;['"
M3F/S+7'C!C67UL8K2TJA7\J5.KM6S!NI399)H=@J9F4Z;228+I+>T)DP,$HO
M&[Y**AY!Y;<F$A:Y U"7U.VIOFO:C*+O"%O<W2J5GXY:SE8S4D5$J0<7;W!7
MJ"*1?E-O=8*@FY4$I@ *ZLS>9W9/!V\6T<5,81QO=?'3JEG77W6S->3ZW*RC
M+,.(;)FJB4ZU.LT6QPY?O*J[Q+3IVVEBY9#X+9RV GN_)#L4X$^=GM[,HZ_>
M1[QQ:P-*O39_ .\45L)#2EP,VDSW2OY"Q=5H2VU(D%*MI=.O&K\M&R7<LDLT
M7<K$$YTU" GT$+6"& Q2#Z )B@;L$Q1,'H41#T$>O:)@ 1#TX'ZX#@.!&C9.
MZ.:7_(=9B[L"+Z>V*QQ6OA5>K/[=+2T9,$F6\RR<,HR#G7437R,!%:2E#%;-
MX]HD91=R@GW&X'1_(MAC)&R&AFWN!<0?EP91S!KWE''M#2FWJ4=%+6>SU:1B
MXMK(R#A%P@R:.W"X)'6.0Q" ?N'T#@4>H>#'/.+<#9SUXUXR'B)_A?<;5FH8
MFSW5MDG>5[YES%>3ZEC *['O\(9K0F9N2?8B"Y))NS565;&9,#BJI&J()&!'
M@9CUU\7^X>)-=LH:L7:A^)F_8P4@Y:XXO=R&N.79AM<-B9 D(@TO&:,>VJ[S
M4"SBR1D:X8OG$$Z;O%B'040!$I%$5 A#7? =N50,QX8SQ2$] )2YT*M7^T(X
M]R3';&R>O6$LG2^?T<LXYIVO% IUQK<W'T'&T?[ZK!:9?.T49)\[,FQ((HJ%
M"8F(/#[M7@C9N(\@<)F?#-\W/N^U%VN^P[56$R'6< 6W5[,U=I%>OF/,=T><
MG+J\Q]E+'SZJ@_@9]J=-W,()%9RBZJ1S% -SC#P#-ZSX\MS-&Y?.L-69;;G;
M:Q[$/<JU#&[2?&L5=/(U4M]#ISBJV.0BV=@=QD-4R-G0+K"S(H[5*0BB1>AP
MM&TOUEV/UK:VRN9+SYA/)6/56[)'']'Q#J53-8HJORB)E#RUOGD*-:IN-EYV
MT?PRO$&[5HT3$G>B!?\ )P*B,J^'#>R7J>W 5'9S6O(&7/(+#7ZO;'YBSEA^
MUKW3"M=M+&3JL93]2K)4)$T[ XW:8UD?R<T#+F,1!V4[])<3KJ)<"1^,=%=N
M<J7?4.!\@.2M:JGB'2BR4"[:Q8'U09WQJKE++.&:DXKU7R-E"[9(5&<:P%,@
M%%5VM6A44TU%5S'>O%DTR)F"^'Z^H\!P' <!P' <!P' J"SKL[FRF^:#0[5>
M N#9E@;,6K&TN0,BTHT1$++3-MQ\M!GJDX:9<,CS#,8H%#$23;N$TCE46]PA
MNH"4+?> X&V>@86;L"_YC-7!2_\ VYDCE('[Q,(!P/,A_;CM03A,O*%!,A2Z
M[Z9L52$3,4QI6,F]KTY0QCF G44UG(E[>@AZ=P#T$ X'IW,(% 3#Z  "(CZC
MT /4?IZ\"L/9K.N5<[Y/EM&M,I]Y 7N,<5PFW>R,2#$[/4W%MLC7TB6(ICN0
M2<QTUM#?HA),M?B_9<D@&3K\XD"D*5HDX"=F%<-X]U]Q72<,XJ@$*S0,?0B$
M%78I)11PM[*9U'#N2E7ZXF=R\_-R*ZSV1?+F.X?/G"KA4QE%##P,H\!P' <!
MP' <"L_)+AHCY;M3D';-J*CW2#<(D2^=&_BD?)98U<6?-HQ,P]H.3QZ?>L)>
MIA1^OIP+,. X'X5'HDL/3KT25'I]_1,P]/\ CP*RO#.Y%YXP-.G8K'7,]QJ_
M>=QRB!B_+NEI<?'^GXOB I[7=_U 3K]O LK:Q\>T7?.VC)FV=2BR;F2=-VR*
M+F1<(H)M45WRZ:957BJ+9(B9#*"8Q4R@4![0 .!#"_:50U^WSP!O8\R3:H^=
MU^PSE;#D%BYJPB%Z=.L\L.6#F8LDD^<(C,,9=H,<B4"MS=BQ4$@,)0*<% XF
M[Z.,+QY%,%>0%WDF38/L%Z\Y,P/%8K;UYBO&3HY,L"4P_M+VS+O?F,CL6Z":
M1&J+;J<R93"L!1,0P5$//[;O%LI,9-V&?97AF^^U@WJD]W,:[-)8Y6DHBBKQ
M5V1MM!PO*XR=6E"%M6/D 8HEEE%#I/'"ZBJB1B>A1#I%I_MYLEW\^"]J\@[4
MC9?*UCS9ZAYGN6WBHW8U&?8RI5K.M&X@IV(U'GY%!0M>IC9HWC2@W2,=X5P9
MPL9-P80"5F/_ !*[=8[QC:M3J%Y$GF&M.WV3;ID:O*85PC'57;\4,A9#D\H6
M6M3>P,I<9JOMU5;#-N&QY=K6C23IAVIJ&#J;J&$9'^WPE;]JQM[5,Z[?9BR]
MMUN028E,L9/<9 O5,P9;;+7G$HA@<UPPY2'D$C.P&)(M9HHFR[R(.7B)NJ0-
MQ*B 7I:?XBR5@+5W!.%LOY76SEDW&&,ZS2[?EES$%@SW:5@8]-@$H,8"JZR:
M239)-N5190[EP5$%5C"J<X\#IFGFFE(TW89]:4R?F+.ZV&V7RQLY<):>9QC>
M1;V?*SN+7=5QNO'-T5'D'74(DB3,S@RBX%.<1$.[H 0[RQX@8+*FYN8MVF.Z
M.Y.$\DY>IF.L:.XK7R]4O'$3#XUQZQ0*G33.7M"M,I-,YJ<(I(J+J+(KMEU3
M B( / QGY$O!ICOR+[,X'V0N^Q65,4RV <6HTFMM,<0U1=S4S:X&_IY$H]VL
MDW<8RP14RVK4Z=58\6ZC%T'+@"*>ZG_$ X<JEXDLX7'9'3;8W8_R*Y2V7E--
M\KW[*%1K%MP9A2A1DFI=::>KI117^-H>#DVPQCLJ3GW72CY,Q""D@BV$YE.!
M*S /C9PSK=B+:;%V/9B;<RNUU]V$R)=LHV:-KLGD./F-@RNB2<:C-LXR,=2]
M>IY%R?EC9VJ<P>U^,X]>H!75@K^W$U.U<GM:<D8.MMUC<KZZ8<S9C>6L%DEY
M^7@\W3^7\9SE)5MMHK#R>DH3'KJ*FIQ60,2OMDRND# V6(I[:2I0WOCE\9>^
M>LFM+C1?/.3=*":FR6N^3L32SC7#%63:UL+-7/(;61BPO5JOMJL)JK8)-A&S
MCGWG/Y6DLY,5$O:0J?<8,<I_V\^0;+K1@O2?+WE V%O6G&'9=LPEM?:?BW&>
M'(/(^+8V27FXJ@6FV4Q12ZOW:4LIWK2+][(E.D/1-JDL4BY0ZGM]_;MY"R78
M4['K%Y",V8[3FM;[;J;<ZML*=GG. EL$"HVF\8XIBY9*,JUL<URGW!N+KY$T
M^FI9$O8+=P42"4X6=X%P[Y/,5Q&Q5DV,S_KWN O,8LA6FON J9A\FO\ 2(C(
M%:A)1!:)L5WE9.^S*]8O#KX:+I1Z#[XW0ZR2:1?X(AA[Q.^/#+VL>0MI-KMI
MH?!%<V9VO?XZ+,TW5R&7I."<<8_I528)15$AZ6G'QK20ML/9W<@21L2XNW,P
M4J2Q52 =4IPS/YNU#I>(GR*F)V=QM4<KI=%"%.407KZR)@[3@(=1*H/0?J ]
M!#U#@3\PDG[6%\0I"04A3Q=C],4A$3"F)*G$%]L3"(B82=.G7[>!6AYAW*:-
M2\?:*JCI,CORM:0I&,R @.0%*XSCDGMK&$!1**J!04$/4R0F+Z@8>!SFP[DG
M^\)XUV8G=D4-K7Y W!$@ !8JE*;6]+N.(E_^:)W#V@ ^A!'K]0X%L7 QQF&4
MBH3$^2Y><LM/IL-'4.V.Y.W9";LWE!K+)*"?"XGKNQD'L:Q?U*)3ZKR+=9P@
MFNT(HF90@&[@"I;4PTOB;;#"^O;K9B@93E+9J%,;$,H;!FEF$L/X=G\4A:JY
M3H^3A,E4BU2UD@HL]GFV[J*CTFZ[*1:AW&<=Y>G NPX#@.!6EDHJKGRUZJ)"
MJ0J#'1/<=Z5,Q *(K.<Q:FLC]JHFZJ").@]@!^$"B/7UX%EO IC\@R*R_DK\
M'A6X"!T\^;@NE5.PZA0;-M0+FHNF8"D.!#*@ =#&[2EZ>HAP+3\NX8Q5GNFK
M8[S+1*_D:D+3E7LIZU96HO(W]04JPQULJ<RF0ITU$I& L<2V>-E2F*9-9$H_
MLX'$6I_7I7+% I<_A:Q6]9E&3F1ZUEMS4JM,4#'5EA"HU\C,;)(ROZCK61)N
M*FERLC,8\WO,07*9R0.I#!F3@. X#@. X'5KPPL,M3+;%5&3:PEKE*S/1U8F
MWS95XRA;$^BG;:$EW;1!1)=RUC)-5)91,AR&.0@@!@$0'@4%1/@=K=D\9^MV
MIF1,I.:EM]K33[1"8VW4PV\LU8O&/Y.^761LM\8U21CGU9FY6CVZ'E%H]Y%2
M!Q:J"H*_M%5*4>!+;$/C"C-9]EL/Y6UIM==QEC>AZ#R6F-QKGZ8(\ME_FJS:
M*]8<)Y4L+YLDUB)R:HYRSAW2CHH+NCR8D ?;-^ (SUO^W)T*F\&/:/L5&W'-
MVP%[6O$WGC:^)OF2L19,SI<+]8+!8Y2:OT=1;VVA9V(C7<Z5)E#/RO8U))HE
MU3,(G[@R!9?#;8<IZZ:(8BRYO-G]UES0B[RMGQML_BN,J6/,N3$(O7Y>G0=6
M?.Y)A<X]J:*J*T<S<2"B3Q:1"/ZN4U/>/P)+:M:-YVPKLU?=C,[[QY%VN6E<
M+0^",:5:W8RH.-$:-36%X=WM_*V)3' 1=?OM[E)%1%!::4BF+I1NEV' 2 0I
M LJX#@.!$O:7,#'$,SK*=W .I+^8.Q],QN,\TJ;*U#3FUHBI]HK+.17'\PKK
M*3> WC%)-H!E&OS0%0/9%00#L&X6R<1I]J[G#:.PTZQWN P9C^9R+.4^K*Q[
M>R3,/ %(M)H1:LJLWCTW+=F)UA]TX )$AZ=1$ $*T'7FMC,0TRT6W=G2[9#3
MT$,06K.&+"3SK'V6(#-]3I\*2SS52I-RQW9'-=C,R,JHK^:*U>758.2L$EUB
M*J%05[0Z*I_< 8<Q8PS$ON3K;FW5&3Q/BO$^>$H!U,XTS7(V?#>:+U"8^I-@
M44Q3:I5I4;<,Q-@Y>5Z3.D\1C4%7!#J]@DX&0MM?.QK-J0XR"VLN.<NW8,>6
MK4UFM)4R,A'\-=<;;;PMCL-1S%CAPWE7TC;:?6HRIOTGJ1&B+Q6033;I)C[G
M>4.X9T\UFL.,H7-[G%-:R1L_8\,$UCC$H3#47%2$+DK(.V\FW)B#$F/K@]E2
M,I;)KRIN26%[&&;E%I$G()CBN)D"!C/+GFL;.HW&">ENN$[M/:;CJI:=W[U'
M6'(%?P=7L5:Z428<U*XFL%CL;2<5?95BKZR<PIJ^V9G,B[9N/>7().P0P5:_
M[D? MME<&L-/L3);'0^7(F?5LF1;_F>FZJXDQ7=JE U^UV7#T]E',\2RI$SE
M-C6Y]-RFP:O03<E !;J+%[A*%C&8-^<JX&\<M^WPRAI]:HBW8RJ\G=[7KC"9
MCQG<I(:5%69..<7"%RS5%9:DS-<4IR@61-5NFHN:.ZD%$%0$ "F)+SS6^5QW
MF;R*7G">+6^NNH.)DJQ!TK!^Z^*LX/<E9YV+O>.(BGTR[)5",2<4B;K]5CG*
MA%'4<Y]D1?@EW )NT)"WS^Y(P'4LF8JKK/%<0AB:ZXVUSRK<<SY0V+Q!A5O6
M:KL77@LL<I0:)?'C.R9I6H,>58)LT09))%PT<(%,*Z8)F#?0GGNOEGVQSYJS
M3-)H*_S^%++>0CFM;W*PO&9-R5BRG4EMD=EE^BXKMD3!N;!4K71)%I)L3MY,
MP*).?;3,J<A^!P"/]T7H58<)ZBY4HI'<W;=G-CJM@.V87E[37X+(>OC*0G6D
M5;,BY':)&ETEZU7F<DT=LE$.QO+INR%363.18J89E:^:Z_/\E;YUJ)TN"=I.
MCP[!M)"28[1X6C\O7R2UX0C7<XJ37R76:Y)K]5M[1Z=2)FB(/V!Q(4JAB@<3
M$#JE:\_]7V)R=BJI^/[6J>W9KEJU3L6S>6!JF6L<8OO6"ORNYM*6UH-Z@\DO
MHJOLK*C)"K\EN>3*Y724379).6X&4$)K^+[R+9&\DV+@SVMIW=-=,$V>--(8
M?R%<<LX[N[K*(,9Z3KTZ0E,JP(66HI1;R+.*:[]/V'9>[VS#T#N"TS@. X$!
M,NXHTZF_()J3EC(UU1A]S:EBG/=<UTI'ZK_+U;ECZ7;0"F69$]3*V.>?"JM%
M$136%=$C;YB@B14>WVPGV'H !P' VST1!D\$I@*8&CD2F$0 "F!!00,(CZ!V
MCZ\#S,?VWBRSW'V5Y%R)7CEYB?5QZ>9*4Z))#YJ^PBKE-LEW*).&B<H+E8KD
M!#W#.1(4H)I$$P78[T9YN^OFO%ALF)*[&W'.UZGJIAK7RH3"Z;>(L&;<KSK.
MGT,LVJH( 6N5][(*3$L/U"*C7)NH=.O [3J9K35M5,+U_&,$Y4L%C<KO+CE;
M(LD +6?+>8+8H$KD7)]MDU"%=R<U:[ JHH451Z-&94&B0$002(4)+<!P' <!
MP' <!P*P<KLVLMY<]-2N">PM4],MT[-'.#I@<'[F>R#JM57+%L)%!.DJP9H"
MLH8Y2E$BH 01$3 4+/N X'R7Z>POW#T+["W</IZ![1NH^OIZ!P/-MXN\>9CV
M[T.TWQ+*)W[!^EF-<6PB]U=*.&-;RKMO9H^\S<G&U"'D(22<SE P!#I1K5Q+
MR3=5E*6QPX,Q;"C').%G8>DPA 3(0@=.A"E*'0I2AT*  '0I0 I0  ^@<#]<
M!P*:,L[89]KGG%U@TYJ][B#:]9!T;S%F;)F.QK4(XDHNYU>WR,/4[T^MIF3B
MP1D>\.W28H-2KMF9S(KB<JJARB4*%ZY_<C[@5/2OR"Y5V)Q.G7[?CW-%ZPCI
MULIBS"\Q;M8I;),"<[5'&5[DQM4H4MH9MFY9!L\<_'C)!)T"9U$E2%3.%O?D
M/\G=[QQ0O'_4,*9GQ)K,EOK6)2X/]X]C:>['$&%Z96<7161%DF-5FWD/%R&7
M<BJ2J3:"B)9=%N@ *'4!02AVA#7'']PODYAL-#ZX06*:1O%4ZM/X/PP;*.$K
MNSK.S.QM@M-,KDG>]F,1:N#$O&<Y@AO)2JJORVL@VC4$VZI@?>UZI!'ZW>3O
M=/*7E-V2U;L7D<QEH1@/6S+F3I?-*-UQA@J%&G:]8[4QN7%(8VR7E%*4E,AY
M*SFYL4B:72,@1*!CD2JH%5$Q"&!OKL%Y#]E/)3F+5'5F_P"U8I7O4#&V9/'G
M,ZF;'4# V"Y7&=A90[6_[#;'6*X1$S(79.'R1* W;M($6DD,<BDW0)_J@5.&
M6J+LSY_*GLA#:LM&#[*+_"UEU<Q1*3]NU-F%\4["4=6L5]ULUM':MJ7-@J$#
M2F367,]1KK)BBZDGX>V5:.!U[H\")>,-]MJ]M-H,56^[>82&UDQAK9=[];M]
M:\Y)A_!^(Z.2KYJMM;P]KECRJV%=3(&8;K=JGCYT\M[V0=O8F)CWZ';T<&*W
M4#B]GO+5Y$+1O32=Y\ 43=J6\:>+LO8\I&(:AB_!MVG\![<X4/)6NI;"9DGY
MN+(QDW4F=7L5IR+ED]:+>TV734;'34%8+-=\=@-V8+2>P>234KR;V!UK]:\B
MXX=QU-<:<X?KY<4X+OV5X7&MQ?IFR!##DJ0NN)DY559;\S*F=PHS4*9N4!]P
M CSM%:_)95/+#JWHBW\DFV<[3=BM72V^O7?7K!6JL#*1,M$VBP1MPOE^J5SC
MVT&6LM:PR%RX?Q:I9)FJ4AF;,PD[#!D3:_)>S6L^ZVH?C61\Q-OUOQ!,Z99&
MRO?=H\\0F!<@YMR!D^)RG/1T2QF[GE"OMH&,1=PS<J+!-(S=8C=BN3JLJ<ID
MPSWXB_)%M7F[>+9_0O-.4<%[M4#7?&M8N=5WLUQADX.N3R\P[BVK"FY39Q$B
M]I1,A2K1\N99*' C=!U&.BD!1/H<@21S;X?KMF_9O9#.TOO9L-7*KF*P:SY#
MQ7CJOR;XC#7S)FN5CAY9"2J+5:P%K$Q5+G$QSM@^C%X]+O++N%%%55"(B4+O
M"]W:7N_S=I>[Z?YN@=WTZ@'K]WIP/UP*1_.WLSB&C^/K;_ 3N:6M&:LF:WW)
M.%Q?3HEU<;9"568.W@G>5+Q"Q::X5#%E56=?)?R\J=HR,F@=)(ZBP@3@7!8S
M250QOCY%=9%RLC1ZDDLX;HE;-UU4X"/(HL@W(=0C=%4X"8I ,8"%$  1Z<"K
M/S'(&&BZ$/TWRC)>+\JNC3E#_3G<-7 N<@2$8L@\[2&!),S5^<4SF$I07 @=
M>HAP.U['(F;^7+QDR N%3$>8$\@\$5B5#JF14\;KK,!(J.N@]@))Q9D02].\
M5@-U_!TX%J_ A?Y$\H8MP_I!LW=\U2-2B<8)XGLU:M;^^UVTVRD(,[RW+24/
MU97*0U>VZ6KYWMA2*[2CDQ<^R)A(8@AW %+GB#U^Q[K!N34J)!;8Y8W4?9#\
M56'KIBS-TBRQY&X0:ZY8\RT&/J/CS'<3 QKNTQHP[B23=H.'$J<9%JN/S4U7
M34JI0].? <!P*M,HN!/YB]261#G-[6A>XCM5(R8^TF1;+NL2"2Q%.@@"IU$A
M((?^GI]_ M+X%.6_1$_]RCPB*KR(LT"Y\W&2^,'3O>O%=+<C&9%[OJ#8JJ78
M<OT$5 $?4 X%A6RMRV,HN/F\YK%A*H9]R)^I(=H\HEURNAAR."K+_*--S+2V
M.JS:FRLHP]I(B+11!,JWO"85"^WVG# &,,O^1BYY)I,-D;3'"&$<7_+>.,E7
M1QM>.5K$G$A&NQCV% JE9Q-7"OIX\Q\<K@\DZ:,TVPG,0RIP*40L"X#@. X#
M@. X#@5I;2[I9(K6SV ])]2J95,J["WV3A<DYZ4MCF10I6M^I[&64C[-E*ZO
M8E9!=.VVZ02_*ZC$]XK2;T%5#)^PD*@!+.2VHUDA<EDPQ+[#82B<NJ&;)I8P
ME,IT=A?E%7BJ2+-L%5=3B4T+UTHN0$T/9]Y3N 2E$!#@4*>92P;X9.W!U(PW
MK?KQY!+5K-BO]37_ &XN&K&32X'B,GUVYMHN)JU/HU\"S5D]HOF.G48O)K,E
M'C8G^I!N4![SKI!:3H9BR@8TCEEZMEK?6Q2%MB)IP7&6\UYR79+1564'-Q:4
MJ[BH/(T8DO&DCI683:I/FKIRV?I*F%%9TB4BI0L<X#@.!T6[$F_?IJT)(048
M*=QBTI9>:BW\JLM"N2."OV$"5DH1%C-R0$*@1RY S=)%10>G?V#P,7;>X$_J
MHU8V(UK_ %&6G#GC#60\3A:SQ@31*X:]5F1KQ9DT09RS"2+'&?>Z*/O)"IV]
M .4?4 IRLWB7W3VBQ_7:-NSN;BV3@<,80R3B_7VGZ_82FZA6T\AWG#<KA%AG
M7-#VZ7:?G+G.5RH3+H&D&Q-',$5GBR@K*")0*$5JY_;X9DPQ2)73?#&:,>N]
M,<YY'P-E?/N4K2%L@MSJ9(8G-7VEUQSB;($%&3$=8J/?6D6JM C,K-EJH+MV
MB!G)5@.<,XP/]O[;(3)U)DEMVK!/X?P4VU8@==*K9,0UR5R;5Z)J[FZ7S35Z
M1E#)0SJ#'*4:4MKF*XU6/#LE48-R@DI[P-NU4,R4WP)8#KV-W^!Y"SL0U^:^
M2+^OZ QI7J0QC22\*WK*L=#:^9$EW,F]=6&G5R;?.#L7K8&:S>-*DS(D4I1.
M(?I?PFDPUF5QFS1G/:6MR](K[Y7 &*)JA.,C8PQK/VZ0=N\U8]D$7UL8S<[K
M=GD5DI"5J0*I&A;2W)-1+ENN95%4,8LO[=W"V2<5Y2>;$Y#75VDS?L6PVHLN
M5L,5UE!XQQ5DF+=-21$%AK V14[OBTE>C*Z@I%+OYR'?2\JV<K"NH4# D4+<
M)73R.O&D-RTCS#EO(V7(+(.%+[@ZXY:L+>G0.29FN7R#F*XO)^Q3:W7Z;'RT
M+#RI468-8Q!L4K9/N2-^+N"EW$/A5Q3E>R2N$LO[P[";5Z\ZIY7QG Y%U8R;
MA_"5$Q+<[W0,+,)/',99K'C7'U+L5TAZK5,F1KLY$WIR+/"F(^%PJ)C ';K=
M_;\O(V4NL'K=N[:]?L#R[6Y06.<#OM<,#YOA\-TC*C%Z3)V/Z%?LLPL[D:*I
M;N<D7$I Q[>1;M8!XZ6%,BO> E#,^,O!M5]?,B0^2=:=U=I\0/S+XH9Y IJR
MF-K[C')U0Q?BNE8<_2MDI5HIJJ:'ZCI%+306?H.2NVQUA,D8.P@ &/YW^V_T
MKLE>P=$2<]:4)K#VKF5-3IFZ0U:H4-9<K42_,'[:FV6Y.&5?(DUR#A9\\([K
M\LQ!%Q[B14UQ41 J90CM _VX&782X;$W8WE&O\E:]HJ-(8]R_D&1U*UY=99L
ME:L&/F..K1&(Y.5;#:ZY'S$''($,WBEV21A1(JL"SGN7,%A^$_#1A76_;*&V
MGP;=I;'BMAU;9ZM[#XOAJS!(TK/,16:E6ZK1;^X!'V'%$ND*6KM7#T[ %$9(
MR10,"8BL=8)A^/O3: \?VHN(=1JM>I_)-=P^PL$9$7&SQ\=%SDHRG+7.6A--
MZQB?] B+ 9L6Y>S_ #%3 P^HCP)F<!P' H*VV9)2']P5XD2F0(52.U9WRDBN
MC)B451"'I2"2)5B& 51:B<QNPP=I05$?43>@7Z\!P..ES)EB)4RP]$BQK\51
M#Z@F#183]/4/7MX'FN_MOXWV\6Y%DA( %1P7I+6T%N\3@LW88]R78FY"#V)@
M7VT;:4PEZ"("8?Q#Z= LUV6=Q>1/(7X],(N9))4N/&&QFX<S7#E*I\E>@4F)
MP=CZ363,/:4K">SK(.$3" F*NU 2B @(@%EO <!P' <!P' <!P*O[Q(%7\QV
MNL.B4Q5XWQY[/R[U04SF(JTE<^:WL6*8'$O80R+B+6$W:/</<7KT 0X%H' <
M#KMO?!&5.SR(G]L&->FWGN=O<)/C1CI?O GKWB7V^H!Z]?IP*^_#NU,U\7&B
M8';BV4<ZX8^DE$S'34.8\M'FE#+'.D)BB9R9X*@@(]P"?H;\77@63<!P' Q"
MC@/#*&9)_85/&]5_G=:*#&8LG<GGCB+6Z0QS#R;Z:CZ6:26%0R%?1E9%5<S=
M("$64, J=_:7H'!5K5?6>FXT<88JVO\ AJ"Q"[LB]Q=8OC<;5!MC]U;G4RE8
M7%H<U%.("!7L"LZ@F[%V9 5OD$*?N[BE$ [UD'$N+,MUTM0RKC>AY,J9%VCH
ME7R!3Z[<:Z5U']WP'1(6P1LA&INF0'-[*A$RF3[A[1#KP.3B*#1H"092L'3:
MI#RD="-*S'R4778=A(,:VP3(BPKS)ZU9).6D$P12*1%FF8K9(I0 I Z<#&MU
MU:UFR5:6EXR/KS@_(-S8J'59VR[XHH5JLC911#XQSHSDY7WLF0PM_P '4%>[
ML_#UZ  <#O:>+,9HW*%R*CCZF)9 KE7>4>O7=.MQ);;!4F0=L7[^G0]A!J$K
M&55Z^C&RRT<BJ1FHJW3.9,3$*(!WT>HATZC_ (C_ (_OZ\"&$OXY/'_8C/5+
M-I/JM:5Y&QV6W/W=JP/C2S/GMFN,LXG;3..G\[6Y!XM(3TR[4<N3F./N*G$W
M E=4JE5Z#6H2ET>NPM0J%9C&D+6ZM6HQE!UVO0S! C9A$0<+&(-8Z*C&3<A2
M(H()IIIE    X&RME!I%\K$E2;M4:W;:;,( VEZG8H2,F:U*M@<IO2MI*#D&
MKB,?-R/42+ 15(Q063*?_, #P(=[3>,71/=6W5S(.S&O=>R1?Z?60IU4O!;'
M>J;;:]6BO74B2)BI^@VFKR39LF_>K*%#W!$!6.7_ "',40XC,OBD\>&Q62Z'
MEW/.JN-,QWS&N.4<35*3R2VD[E'-J"S3<)QD+*5J>D7U9L:T,5XL+-Y(LW3Y
MNHL=0JWN#W<"3>"=:M>]7ZFM1-<<)XNP93'+T9)W6<5TBNT>(?20HD;FD9!I
M7X]@20D#(I%**ZW>J(!ZFX&;N X#@4X>9;&&.:?XX/([DJM4NNP^1<T89@ZQ
MDJYLXLH6.\1K9Y7:! Q,_*(E-(O8^*KTBHT:H 8$42JG$"]RAQ,%M=.8EC*A
M5(TB9$B1]9@6)$DRG(FF5I%-$"IID4 %"D("?0 , " ?7UX%6/F)'MQ3IFJ!
M%G"C?R=:*O46#8">_*+,,LI/DXY$RAB$(LY,V_ )A O<  (@ CP*],(>0^F^
M0[S2Z:.\2))_R@PSI%L%8)LKEQ#*V^E;-90EJS$WS"U^382;XK6PXUI-.;_*
M0:"LW([>'$5C@*7 ]/O @SY*=89C<C2#8#76N6.HU"R7VLPZ]<M%_0<.J-!S
ME.MM?N\:^MS9JDNLO6RN:Z!7I0*(&;F, ^G7@4->**B4_'/E1RU3]9MD7VS<
M!7L 2#S:B95ID74];<3,+IDNT6G&6'=!&$8+X\1C]KE60L#^3;M9"0KA69"I
MHKJO4C D'K+X#@.!6O;?]1Y>L%)@)BC&^._91T(')U2.62V&UI;!\<PIAVKD
M%CU4_&/X#%_"'U$+*.!3KOIVJ^2WPEM4W#<CH,U[ER/QEA*!UF#33VZ-WBJ'
M>0Q3*(J/$@  $#")PZ?L":.Z&Z&*-&,41&5LKQ5[LJ-LR)2L08_I>-*T-GNE
M]RGD>04B:-2X1JX=Q4&P=3\DD*174D^8L4C"4#K 8Y ,%4\YO_D'8KR?>/#7
MW"MBSEK-,Q-,V,RSNQJIGK&T33I>4QA%5&ML,?-'BKAI86=JLA[G(BXAW]/L
M#R,(R2>G<JG$"I@'H1X#@:]!^X?\!X#H/W#P-. X#@.!6CLKX[I+*NQ,?M]K
MSLYE#3_9=/&88?MESH-;HE^I>5\?,9%],UB#RKC6_P ._BK$K39>276C'K=P
MR?-O=,0%>S\/ K<P;_;2Z]U"R8_M.R&PV5-LG^/L[RVS#9"U4C%F/W%LS/,R
M",NXL61;Y4*T;+]ZB&DLF9PVB'UD/&I&.)/9%/\ !P+GMIL<;@WU''JFI.S>
M/M=7T%-2RN0D<E8 ;YYA[W 2#9LFP:,VY+_CF4J\G ND5%$ED'ATG +"54@@
M0O XS6/%^ZM#F;4^VJVPQML/#OV*+:H0>/=:FV"0KKT'@+N9&4DOYG9%=SYC
M,R@@DB'Q2$[C'-WF[>P)C<!P' ZQ8YEE%*P",@8[=&6G64<@_P#E(-$$)!0_
M?'M%5%7+=1525<%!NDDF5053'[1+T]>!V?@. _\ >(?\0^H?O#@. X#@. X$
M+=-AA7+_ &_EX26++$F-T\OC)F_*Y2,5CINMU[']%E(=<THHJ$F:.<5/H1TV
M[&JB)B F7\(B(32X#@. X#@. X#@.!A^=OF"&^:Z%C>R6;&*>PDC4[7:\9U&
M8?5O^:KBDM#LX^[3M,CGA_U.%>(H*",BJS*")NA2JB(%] S!P' X*TD(K6+(
MFH90J:D!,D4,D(%5*0\:Y*8R1A P%4 H_A$0$ '@></^VU0>HX,R.@_.O[K7
M'&E;=%$[@7*:+(-;F+]B)SEZHDD%VS\IURE$1 #$$>G4"@%HUJP1D1UY4\/;
M-LX4SW%$-I#F+!U@GRR<8@%?ODWF/%MUK,<M%'.67D26*&CGYB*IE,BW,SZ'
M$!5* A8D @/7H)3=!,4>T0, &*(E,41 1Z&*8! 0^P> ZA]X<#\>ZE[A$?=2
M!90AE$T14)[ITR"4IU")]>\Q"&, "(!T 1X&GR&_8JI\A#L0.9)<_O)=B*I>
MT#)K&[NU-0HF#J4W00Z\#'<EF/$\-D*NXDELD4B.RG;V<G(U7'#NTP:-YL4;
M"L5I.7DX>J&?_GS^,C8]N=99PFW%%,A1$Q@X'[K5,L\+>K[;9;*5MM<!;"5Y
M*LXZE8VGLJIC9*';.TY U9=PM=CK1*.+*Y= L\4EW\@)!2(1N") ,4P9&X#@
M.!4C?)1TGYP]<8M(1(V<>-O9)9R(" @MW; 8.[""7IU)[1X\ANO7\0CT^S@6
MW<!P,.[$*OT, YP6B544)9+$&3#Q2S@7 ((R9*1.G8*JF:B5T5)-T4IC"G_$
M  _#^+IP*I_'/MJ5/5CQL:VX5QF_S3=SZL:]/L\V"N3T9%XTUIHY\:UW_P"L
M9*N)D'S-;(MF4$1AJ>S*I-O@!1PX*S:$^08+N"]W:7O[>_M#N[>O;W=/7MZ^
MO3KP/UP' <!P' <!P' <!P' <!P' <!P' <"J/S@K"EXL=M$RK-FZC^ QU$)
MJNE3(I%4F<RX[BTOXJ8^XFH95T $$H";OZ= $>!:DQ2.@Q9(*& RB#1LBH8I
MS*%,HDB1,YBJ' #J%$Q1Z&'U'ZCP*B?,O\Y/$NESMG[(IM?*%H@61(Y(S4:J
M1TEEM*$<).47IR)+HJFE"D[ 'N$3!T 1].!61KZ&#&?]P?A6/P=I[(Z>0$'H
M9L13)FJ6+$^.\-S]RN(90JUG6N36GTB>DY22J[B!<$39S\@@BV?*&50;**F1
M5*F'JWX%5OF1N-WKVD\W3:;%X_<,\_93P]K-?[%E:-EYK&]"QSGV^Q..+1<;
MC$04S7I1_$-DYI-D<J;UN!!? H8X 3@0_P##'ANDU^8NV8\89,E*Y/O($FJ.
MQ.I62;/&YDL.&+CI99[=BJIUW"F5AD:[;H#"T$E).%F,;*Q4N5VQ?-5"NDE
M,=4/0EP' <"M*0<*+^8RHM!1(HC%^,[(CHJYE4A.U7G-I,9(>VDAT]\@/$X$
M>\_7M'V2A]>!9;P*7=^A<!Y4?!J"1DB(_P S=[5%A,8I5E#)ZC3(IMT_4#J
MIU$PD^@B3K]0X%CVT>KN&=QL,6K .?*VO:L:6]:"=R4<QEI*OR[.6K$]'V:N
M3U?L4,X9S-?GX2<BD'#9XT6372,3\)@ZCP,7[ XOK5P?+6S!]>P39=[M?<:3
M+3 -GRJ8LU-XP;Y*:D@U'5A-%R*5R95*WLX-<IQ.)$GZS4W:8QBJB 3*9%>$
M:-R/U$%GI$4R.EVJ:B#9=P4A2K+H-U57"C9%90!,5,RB@D*(%$YA#J(?B2:*
MOXZ08HOG<8L]8NVB,DP%$'T<JY;J(IOF0N$EVX.V9S@HGWD.3O*'<40ZAP/+
M!/ZY;%U;RS8[T%9>5?R-L<795T,R!L1*61[E;&4CD"2RE5LSM*<4L!*S.*I*
M%A(D]8D53JL8R-8F1^&F<BG0R@B$$-N?)5MYJ5MLU;:JV+>?9O5#Q20,+A?9
MRS3554S!4=I,M3T\WL>5X'.N2*Q&QB%&L>/\9V%(D583QRR+28B2(N"(H+B=
M4)X;C^4W.F,<38C\E^A^Q];VQP%NQ*4_!&*=(+3CA*0M^/LLR]:D&[RS8KD<
M;M'.0[7=\=66"=*VRG2C9Q[X^XDW=H@+<0"\7QY9G@,SZU560:;?T[=>Y5]>
M1BLDY?J]8K>/'Z-J=O%Y?]*6[%5>7,OC2?K#!\DP-&2"3:1%-L"JZ8*'-P*E
M[[Y6LZ:1;W^1BHY\IMLV%T4P$ZUSR7.9*QE'Q<KE;4.O; 8\7491T]C:,*WE
M<A83C9ZB2;E_,(*#)P2K](5DUVRO<W#KV$?*GN<ED+$&[V>:'6(7Q2;XY>A,
M'X%9JIJ1&5]7&$C,N:?@?.^75U&1FDC4MH["L O6YG7MUXJS Y3E*90JP1^V
M&\[C[7KR8;-7*7SMC:1TCU8MF'-1+]K(]LE:@<J7*Y7IRW>9/VDP^$@D+R]G
MP)<'R4!/P2"X":*07<E%(R?4X=R\SF>=AL9^031GW\B[S!H=LOC93&5*BM"K
MM3J!:Y?;6<F):6QZ#F:G_<3N 6"L'0518.5XYJ*!/=*JJFBZ1.%I/B3Q3OSC
M&C9N6W1R'DNSU&X93/-:ST'8.[TO*>RF*<6)1Q6;B)S)D[&T3#T.?F)R42!T
MV8L >!%H]2'>*F/VD"?-@HF6'FR..LD0F0%6F&X7%&2*?><6KO%4F<[=YVQ4
M.9HMY:-4F"Q%I"O,8&38J&4<(@5N_$"D.(CT#/G <!P.(EYR-@RQYI*0C8T)
M2580S)23?MH])U(2"Q46L>U.Y52*YD7IQ[&Z!!,HLH(%*41].!R_ <#'<%!N
M6&0[U-BVLH-)Z-J*2;E_.-'58.XBD9=%P6NUXA0>PKP@+D^>LIU(],9,Q/\
MMGX&1. X#@.!H(@4!,/T#U'J( '0/VB( '_'@12U#9F1I^7)([*XQYY_:/9N
M6^+=648PD/;)FJY1*#J'2C&$?[]/DFT61S#.' +.W$<JD=14X"7H$KN X#@.
M X#@. X#@>>S-Z;DO]RWHLLY9L'$<OXVMDTXA46OM24;*)Y(5/*.U7('.=PD
MHR.D@@4Q$R)E<+"43"<0 /0GP' X*TG43K%D41.1-4D!,G2443!5,BA8UR)#
MJ)"( H0I@ 1*(@ AZ<"@3^W6?QS_ %FO1F+$&)V</J7&+IF1(V64/'::81;+
M+&1*<_1!Q(D<JHF'ZD4Z?]/ LS\A,'L'9L LZ_KTRO+]W+Y1QNSS(AB6RP50
MS4IKN,^FOE]IA:PV63@X:,R1*P*!6;94[YDX2:.'!VBZ;PB \"G.HP/D'UHD
M;5_MH:RY6K6K%N1?9:88*VIBXQQ:8K)#UG98'*L PL=TS \R5BE@F2KPTW6X
MM&'NC2R3$BX SE@@L8"!LF]T\\&6KI$,LI8.S#CG7B[XDP=DB7<ZUY*U@J>P
M,/D1UBJ+C+[B%C,Y78UX<;03W)!W$[-BLR?3<:HDG&M'!FQUCD"(F0]+O*LU
MVAWKS@[IFPF2-E]B=:R81T2R!&Y%J++#FOE%R0U)_,=EF.T0.0*M"4?+F.H.
M,-&QCN"KXL'\HH213.99<ZA [E7/$_EW(FI[-K,8<M](RACK93%N1J1K/=<M
M3V#L3[/UF'L-"6S^TRA0H/8G.ZUQN=GJD-+-DK'/3ZKQ\5%JJ5JS2.)CA.KQ
M8:A;_P"M>T60G.P.$M6J]B&4JF1%K/GZFO&UFV*SIEJ?R46Q4>;FK7(/)2R1
MN,JSC=<T,A7S!&-(Q1LW301723!<P>AW@. X#@5EVC#N2%/+[B;8%M3IN2Q*
MTT RSA^4NR786!K5^<YUQW<(J&==%RK*R-D@@<'3#VC)@FQ,/>!BF#@6:<!P
M(:>1B7F:_P"/W>"=KKQU&ST-J1L7*0\FR=$8O(R298AMZ[63;/%$EBMEH]0H
M+ ;M$0[/00'H8 QEXC,>43&WC*T8AL?4B#H47+ZNX0MTS%0<8SC"2EOM>-ZW
M.6RTR@,R]'\W9YQZL\=.E3*+K'5ZG,/0  +&. X#@. X#@. X#@. X#@. X#
M@. X#@.!YP_[@G7^_P!YP'D[/UZR$+O7; 5!PC(8RP96QFXI_([%SNUF,FEC
MRQD9Z1XWA+5&UG&WLQE6CE/PL9"1D'9BG6%J9(/1JU5!PW1<% 0*Y3(Y*4W3
MN*1P +$*;M$Q>XI3@ ]!$/3@4[>;G\V_IQUD&#ATYZ6)Y*O'RK'Q*KXL2D_?
M(;'5%=DV5F56[MO#)KO$TR&=*I*D2 W7L./0HA1OXU<9+X5\XM1I-^L^09O9
M2]XJV9S)GN!SS"K/L]TQ%6)HU3HZ$UF&M3<UB#,^/[83YCZ#DH0&+L$TC%=1
MT=[8(G#VL<#%^:L+XPV*Q5><(YHJ$=?<69)@UJW=Z?+&<DCYZ%<*I+*,W"C)
M=J\1Z+($.51)1-0AR@8I@$ '@=8Q%JYK9@'V%,)X$Q#BMXWB"P(2]%Q[5J[8
M'$.51)86$A8XZ,1GI1!5=$BBGR7*HJ*% YA$P=>!G?@. X%9J[-%;S)1K\4!
M%Q'>,B;:$<^Z< *C-[4U]=5 41/[:@G/ $,!@*)B=H@(AW  A9EP*6]\V2#W
MRO\ @Q]QN<YF>0M_GP+)@(&#VM.IM!),3!_]S(Y<$4-U^H$$/MX$N=^,=[WY
M!QU1@\?>><3X(R[5L@M[+8G.9\>KY I&0J0UKM@:.*!()LVKQ_7@D)Y\Q="]
M;$(Y K3L(HGW&ZA2CJQ/[PW;RRW*D9/S;4,&[*O]&L)V;8"O)ZA-/TK:4\/Y
MWM$5(U?%UXDLENXZ_P"/;%%Y&<+QUG9.U9-LV61;O&C)RR4;"'J7*!@*'>("
M;J/40#H'03")0Z?L+T#]O _7 CE9]3L#7'9O%^XD_2CNMA\.4"X8OH%]1G["
MS_*Z+>U#K6.">5]I*(UN92<+*J'15>-%UFQU#BD<@F'@9FB*53Z^2>2@:M78
M5*U2;^<M",3"1D:C9)N52(A*35@29M44YJ7DT$BD<.7(*K+D* ',8 #@1;L_
MCYTZM"NO)S8+J%8;:JYD<9]P5%8]2=8Y@J3E5\=PM)65."I+F#B9;\U<N3*N
MFSQ%=LY5Z&43,(!P)+5C&V/J3-W6RT^D56K6'),TVLF0INOP,9$2EXL+.-;0
M[6=M;Y@V0<3TNA%LTT"N')E%03+T[OKP.1=TRGOPLH/ZI6GH7-D2-N /(*+<
M_JR.39J1R<?9?>:G_/F*<>J9 J3KW4P1,) #M'IP-A-XYQ_9JFWH=CI%2G:.
MU"&!M3I>NQ$A5D"UQTS?5\B-?<LU(E)*#>Q[=5H0J(%;J()F3 HD+T"/D_H;
MIK9</63 DQK/AI]B:UO;]+3%.<T6#68FG\H/9*2OMF8NE6:DC$VFQR4NX<JR
M395)X5P<%"*%,4O0.'B?']JJTQ!K-@^?QN>_T;3ZRTNYZ]?S#M-IM]BH-OQX
MWDF=,LB%HDY89J4DX!C++-T?EJK)>QV$$@E3(!0F=P' <!P' QGE5O$*5Z+>
M3$'/6)&&N%2FVD;6X1Q8)0)./FFIHY^6-:HK*_%BG2A72ZW0 021,IU 2AP,
MFCTZCT^G7T_=P-. X#@. X#@! !]! ! ?00$.H"'W" ^@AP,6XLRG!Y50OSB
M#8R<>&/\I7C%$NA*H-T5E)NA201CYZT^*\>)K14@4Z;AJ<PIJ"BJ4#ID, E
M,I<!P' <!P' <!P' H4SD@"?]QIH<X('07'CDVM15.)>HG31R35EB)E,'^3V
MU''7J/IT'I]1X%]? <#KUM*<]4M!$^@J'KLX4@&$0+WFC'0%[A#U O4?7@4%
M_P!N[-IV/7+(LLG#!$D+%:G1(*$232(\&%T^PU'G-V%_$50JA#',!NAA%7NZ
M?BX'H5X'G?W(UXW*ROO!GA\ZPOEW9K6V.PSBFY:_TEQO/<M2->HO(D$E8&MY
MH,S5,2P3JQ9%O\_96,<_25GG36,29.!(*O9Z%# L!D;S_9?L=15C:OD'$D7,
M8X0GC1A\/:[8RHF-MD EVK9#$UTG\J9)R+D^_:L4ZINC*RD[%0 6>S2S8Q(L
MR"!RJ$#Y[H:H^2]?:K8\,$YCW*M"U]P1A&[8<RO#94BXNHX/D93+<I5-NL4X
M-H,I-8VPJ>[R&+21C^K)V/V9)-(%/9DRNA5= &$===5?)7B#>K ^WN]F%LLY
MWI>$M:K%BS7_ /I^OY<QY=IUX7+,4V-LF>*C?<U'CTK=;\=61Z^F'43(66)"
M=73*K(@FBF1,+7?#KA39G L3MVWV&D,M3%1MV;VF2:!D'9M"FQ>Q=WE+!3(Y
MQEFP9 0H]ZO%5CJ!#V1%*/JJ .R*-8UDH7M*A[/ N"1OU&<59.\-[G4W%*5(
M91*X(V.&4JJJ1')F9U$K"5Z,0HF1XF9(3%6$ 5*)/\P"' [*T>-'[5N]8NFS
MUFZ2*NU=M%TG+9PB<.I%4'"!U$EDC!]#%$0'@;C@. _]GH/[.O3I_CUX#@.!
M!_R:.BLO''OLY,*/0FG.R1>C@PE1.*N(+<B5-00]>U4RG;^WKP*)-/<0YLT^
MP?K/,Y\W-WQE]0LPX)UYL-#SC4<F4MW!:D2]SQ+08%'#N9Z=8L>6S\JPTE).
M41K5Q9HFCX8RIF\P1H":<@L&SW-RML9C:D7+(&@6[NY^6J_KODS&C+.6?LS7
M3#-CUP!*3R;2J?/X7QJV::_-7.<\HR*5J(W=JQ;I""@.XP.)$7P%;%#UD"';
MT#Z]  .OW]  !^_@:<!P' <!P' XY#\V_,G_ ,G\O_)_CLORP$2N DP=]70R
M0OCG4%J9J)10! "%*<!!3N$0$O Y'@. X#@. X#@. X#@5,><6OHV[QFYUJ+
MCW2MK9=]8:VY<(]?<9-YG:O"C%9^0"@(F,R35%3IT$![?7TX%L#5N1HV;M$P
M$$VJ*39+N$#&%)N0$4A,( 4!,9,@"/I]1X%/WG G)>MZAXIFZ]7$;38H_?70
M%Q7XI:19PX*31-J\9C'E3E7Z3AE&J/%^C4'"J2J:(.!.8@E*/ BECC6W*>%_
M*SK7LEFN<2@,G[O6S:R;M.!Z/-)Y Q?BI*C:ZTJ#@4F.3+)6HS(%BGW\!3F:
MT@FFHQK31\LN2.CDRF%=0/1H/7H/3IUZ>G7Z=?LZ_LX$1]A]GF&FF#<K[![%
MD5FJ75+I%,:A!X:J<K8+O+0=SL%:IE JI*_)3*067(LQ:YOV3 U6:ME?>2*F
M0# ;N#+. L[8TV9P]0L[8?FG%@QSDB%&;K4D]BY"#D?:0>NHN2CY6$EF[24A
MYF$F6#AD]:N$DUF[MNHF8.I>!F#@. X%:10:&\Q:W>;L?-_&<V]D@-DC"NT>
M;3.ODF.[]\%D@:K,D@*G[8E4]XQNX!)T$++>!3!O>W6<>5OP??%."*[:];Z/
M%EA[P[HY'4V23>-"_C*D;Y K$Z@("<! ! 0 ! 0N?X&P&*BQD4I<8U@:61:+
M,$90S-N,DBQ<+)N'#))\*8NDVB[A(ASI%.!#'* B B #P-_P-@PD$I#YGM(/
M4/@OEX]7YK)PS]U9N5,QUF@KD(5XR."H=BZ8F2.(" "(E'H&_P" X#@. X#@
M. X#@. X#@.!%#=.YW#'V!G]KQ_2Z[>+FQO^(F<&QM4:[FH6O&G,I5" D+XM
M#1Y%).6=T.)E'$JU;M0%RJZ;)E3ZF$ $)7%'N*!AZ@)@ZB!N@" _: ]/3T'@
M:\##D=8LDJY]MM2>U\Z6(6.(,>V.N6PS4A2O\D2MWRC&72ND>^[W+_E-5AH!
MR9+VR@E\TI@,85! H9CX#@. X#@0SP+6[#C'8S;6F2TG%+53*=UJ^Q6+HAK&
M2R4K&M+#1ZS0<J)2LF$8C7%$%L@4H'S5%-RH^_\ J2JBQ0*8AA"9G <!P' <
M!P' <!P*+,RD5/\ W$>DXE49 FCXU-J5#I^P/SQ ^7\>)]QW'7H9 3"7V@Z?
M@$JW_P"4] O3X#@=)R6HZ1QQD%5B<J3U*CVU1FH<PE*FZ) 2!FYS&#J)2D6
M!$0]0#@4.?VXJ0I:F9(*>;&96+9]? <=&IFZ+%R?2361RZ9)J&$?E';NG!TS
MJ!Z&,3J'H/J%NNW]HR#3,.N[-CB^V3'LS&SD.5W*4W ,ELI;9%C(+C%IPU?Q
MA$R$>[=O'4F];G4>"8Z3-!,YU"@3JH0*"J;MWYQ%L/RN.BZKYXR/GC,.KF8+
M+6LEY!QM@C!$1@'9&I3)XJGQD;&%LRM:M&.K7!2S21:M9E<9])VW.4B+E+WD
MT M0W:Q%G_;KQG6&N4*6RKB79E_B2I9,BZA 757$%IL&3ZO",K(^PC?[%6)9
M(\/5,@2[=Q!S)6,F@0B;CN3<]B?4P5TZ,8%WRUQH6)=D-7%,:;.XYSQAJXS%
MUU(<;5V*J:_Z[9<NMWB;60VO]WEJ[FL;A3JDVAEJV]%V_6='>I.7C90A'JZ1
M0Q7@V-\HV-<([*W['ODTUUR)F.^9HO6*MA:9N&M.UO$^AVSLRWCYE>J:[Y-=
MI39[I#T%"TQL8RK[N+)!3@F0>L@1$KA!P'VMNH/DHRC@VKZO6M^WO-TQ7DM'
M/UNC<X;TT_-5JV*JEQK-TI'Q/C?T^0\75*11;WV3M:C+369.L*.4SM^PRK-,
MA0MFUF\=&+VV.:7+[;8-Q-D'-,3#1\ >/FY^:SE1*?!UI$8BLM*G'7JNUC'\
M%-.89%->87K-0J\<\DCG53:%Z 8P=*"N(^.+:[#D#C^4&+TWWFRO-8R7Q"\4
M0:T_7+9=[29:WT9]A5FB4A:S1,YFI\DSE:ZBG^7MK"HB]:^R+EPF<+? _P#'
M_CTX#@5,68\Z'G"Q.@I,3A*NMXR\L.V4$TF7*5?7LS'93'K>1E)>!(N#5P]0
MA)9%)LX.F)P$PE*;H4P<"V?@.!7[Y7W(L_&/O\X 2EZ:AY]3[CF.0I?D8WL"
M'7N3 5 $ 4].WU$?IP*A-;]F,"[:Z\ZQXWV,W(UIUXU)J^N."(60UU7V1PPQ
MS#M4#'%%396)GL X:7)TMC'"?RVJC%2E-EBS-C0]\LX9HW'\O4"-7DQSOK;I
M-JU8J;JULEK-D?1#..6<%0[[ %-S70IB8U$G$,Y4.Y6"YZ_PU5DY][,8,L3:
MMR3B;J2:!/T[)J?.C%$FBKAHF'J"H>X^IF4JE6[YC[9?!%KJ-P8M9&M3D3E6
MDK-)9J] /CB@0\T1P1R)A[#H*$(NDJ IG(4X"4 X+.>\FHFM^+;GF3,&P^**
MM0:"!4[%(A=(.6D"2:QRHLJY&P4.\?3,O:91R<J36.;H*.EU# !2= $0#J.O
MN>,RW^?N-OSC!8GP+BJ:"&:X+QI.7EA+;!ND#$4<2MBS*+*4&CU&3EB.&X,Z
MQ&'D7L83J#]V+@PH)!+&PW:KU>#<6.8ET4H9JJS06>-$7DL!5'[]K&MBE0AF
MT@Z4 [UXF01*F8I.[J82E P@':O_ "_8/U#]@_MX#@. X#@. X#@.!M2/F2K
MQQ')O&JD@T;M7;IB1PD9XV:OCNDF3IPU XKHMGBK%<J1S% JAD5 *(B0W0-U
MP' <!P*+?-]F;)<1CC#.OF/\1S%LK&3,WZX73.^6I!LX9T+$&)*;M?@>/;H$
MDUFWY98<CWZ]3L:PCX4%R+?E2<@\$HD;AP+TQ^H_7ZC]1Z_;_P N!47YK9$&
M.H&/6QE2MR3F\WC[@57)NG5LE);@X@(JX(;M%0ADDR"/4@E. =>@AP.0W$MU
M-3\FOB0I1YMN3(RUCW$L3.OI%<C(JT,NN<Q%3<LHH1/XJ<6G8S1B!RG/WJ*G
M)VE$"G$ MCX$3]WM;/ZM-9\@X2;71+&]@F%Z?:Z1D5>""T-Z)D#&MTK^1*/:
MW5<-*083C&'LU8;*N&OS&HK( <H*IB(& *:? 5ERS9;IN1Z/"96FH;&VMN0<
MFLZ_AEQB&LTY+(U*SS>[3D+'NQ"]K_55UGEZ];9E*R?DT:@LW3:I)^VN=R"2
M:A@](W <"O\ S?Y4O'=K;DJT8<SKMYA?&&4Z6SAI"RT"TV-5K:X]M86K9]"
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
M:" &#H8 , _4! ! ?W@/H/ %*4H 4I0*4H 4I2@!2E* = *4H=   #Z!P->
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
M$Q3A'KZMY.1DW:1RF 0,Q0,"O;T$#F* #Z?4+G^ X#@. X#@. X#@. X#@.
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
MX 0]LIP 3_8 \#F2.VBADBINFRAERG,B5-=(YEBIE*904BE.(J@0I@$>WKT
M0X$9[]M52:=L)BS6*"@;+DK+6047=CM4+121C]'".+&;&2.&7,Q.GC]FE4Z9
M+3S)*(BP,)WTM(N.QH@J5%<R82?$0*'<)@ H#T[A$ +U[NWH(CT #=WIT^O7
MTX'X]U+O%/W4P4 ICBF)R@<"%Z=QA*(]0*7J'7[NO B)M]MK!ZR4OXE;KRN8
MMC;LR?L\ ZS5.2;?S)S-;6Z?>5G%1P%77B:?"I@9W/3[DB<;#1J*JRRG<!$S
MA*F&>NG</&NI5-BTE5(YBK+LV+\D@S822C5,[]HW>@5+Y+=NZ]PA%1(3W"E[
MN@=>G Q-G38S#VN5#<Y"RK<HV%B?S&/K\%%-5"REJN]QG%OAUJA4.LL3+2]M
MO-IDA*VCHQFFHX<+&^@%*8Q0_&NMZRUDS%\7><S8I3PE:K))S<C%8R7L32S6
M6LTI:15_1B-]>1A30S'(#B!%%:98,5WC..>*&;D<+>V8XAFD7S$J:ZQGK,J+
M4@*.E1=( FV3,!A!1<XJ=J1! H]!,( /0>!1_N?LWCK:C43#66L8-)-S1&/E
M+U$Q_4;)/MF<?%9#_EQNA1:<_O= ?*O!0F:1/OXUY^62!!'Y3=(YP)V^O O*
M'ZC^\?\ GP*M?-4P:R7C!VN;/ET4&!*Y0G[X[@G>W.SB\O8^D7*"X HF8J"Z
M342', ]Q2B(@ CT#@?O=P%_ZJO$:=(@@']7V4!<J]I%&I4S:<[#)B0PF(8Q%
MUE>WVA#MZ=# (]1Z"%HW <!P' <#KEQAY&Q5*SU^(G7U6EIV F(>+M,8F@M)
MUB0DX]PR9V.-1=%.V6D(-PN5T@10!(95(H&]!'@?S*\B8UBM;MAM'-:=VZYM
M/"57%^R5N<>5F-R6[SWD_5O8O'M;R,A)82W&<'>2EEH'Z2MM8M;AO.&:+(FC
M_CE.X1*L41$/57X#;U25<R^43"6K=[8Y/\>.(\^8TEM0;'6YFP6+'E+)DVB.
M[+E##^-9^>4?"^J5)GD6QB-VSI1LS5<F]LH)KE,8,_>40YQ\AO@D;%="V*MN
M-G9P;^![I%A::RVP?9,<1 $CK)J&(7UZ_B$>@]O O/'ZCT^G7@:<!P' <!P'
M <!P' <!P' <!P' <"K7S'#$NM"LWP,SD!WC1*P4RU(1=M8SMSJ[V'L<+6I2
MTUM]%V"B2T1+M9QM-02)VB2YEV*R@?QD%>TI>!YB_%K7H*WV+/\ ?J/NQ#3'
MD(KNK6S&+Z14;SLWF?*FU]1V^@9/)D98+$ZQ#:GZV$,L8^/48%@YAW$9%R!%
M5&8.12!0YA(%\>B_G3T-R?J[A1_L9M_B/$VS49CFJ0>PV-,QSK/%V0:MF.%B
M4(>_,IBJ6%G G0.ZL[!RLD+5 &YTUB=@%Z^V4)@[TZL*;&XRM&5Z)DK84N1:
M7@C)2V$<>8LV)R?A;%UYODC6Y*>HSNZQ6,[127UG6E)U)DS!1S(D2(R/V@4G
M4Q^!5-AS'5$BO&),>4/QXM<]5O9N[Z:V-=M4I',V>=AX&OWWYD>IEQ='"N4\
MA7J*NE^QO9J],FB6X(G5<.6X)@DL*_:8)#^)3=;+V:\YY[USL.RS7?K#F.<8
M8RRGCS=%EA13",NE8;J^EHFV:\Y6@(V!KM(7R345(U.33+%MD731@X%O(I)N
MTC% ,O\ EJR?GC&LYH+%XTVP>ZBXPS=N)#X%S3?Z[2<=6RX+-;=C>[6RA)1,
MGE6'L-+JD*>QT%9E*.G#-0P)2"9RB(I"0X525?;??C1KR*Q65]W;3LY4?%=E
M*:F,%56T9PR9K3EE_8,OR5A<UG%^8YZD8RJ=*O.&,9WP8\[IG'PL>X3;)N4%
M'GNIBJ9$/M4,[[X;%[];U:Q6W9KR183#'NX,/B_$5TU?UNUMN^M&(,16RL1M
MBQZKE6;N=/L62VB]TB9!1T:8=(+1C-N1)<S@ %0B8>L.J13Z!K%=@92Q2=NE
M(2#BHJ2M4T6-)-65\P8HM74_+I0[*-B4I.871,X7*V;H-RJJ&!-,A  H!S_
M<!P' <!P' J1\ISR#K3##-GR'Y3,I^-3&DO9'^/%7^/X+&"49DF[3J24S!H6
M#(E_H=P6H_Y5%0+TB)BK,&BWR!%503E( A 'P#:Q.<XZ]8.\FVP^8MF<M;3W
M:?S@G"WR^9ZR-(UN?PZE<[#CNE5^1QP2<;T"4K80M<+)-.L:F8'ZHN $?P
M2C;_ "S_ -QZ_,9=X#,OANAS(MSKE,S-W[D6U$QTFY>ADC@JV-W=_43#ZAT
M0X$LO*K=+M1--;%*X\O5WQI:9K,^J6/VUWQS,?D=UK\5D_:K"^.;*\K\@=G(
MMDWPUNT.DP(NW<(*E.9-1,Y#&*(=K<:;917$2I^17>=% IDQ30*XU*'L406,
M8.KI+5!%^LB</PF(=4W< !U$0Z@(8SR!XZ+[DN M5.M?D<WKD*1=ZU+U"V5,
M[[60D=.5VQQ#B$LD6Y7;ZVMY!!O,L'BR9Q05142(J()&((%$ R1 >,K1BM5V
M$K$/KI0F3"!@XJO-'+1"28RRT=#1K>)9%>2C"2:O'"P,6Q2',)OQ )@Z !A
M0[&IX]]/%&[=H7"[!HV:H@@@E%V[(405,@(&:@8HQ=N:#\@$#"0%1ZJ@4>G=
MP./7\<NFCDYS.<,H.O<(!5 =WK)[KW3$]SVUEO?NRA5W1/<$ 54 RO3T[N@!
MT#])>.O49$0$N/+2<Q45FR2B^:\ZN5V[5=)))9HV<N,E*ND&JA4@$4RG @&$
MP@ "8W4*Q/*/JMAS#%6TLDL/Q%HQ],WOR3:68EN[R!R_F:+7N6,<EY.<QE]I
M4\HUOAU9:,LL:F*:Y5NXPIE'H8H=0$.XX4U$UNN?D/W]P[*P%M5IN*<>Z;3E
M.HZ&:,X-(BNS5^A\IV"XV2'8M,A-T8UW8G,3&INA3/\ Q0:EZAT,<#!/$_C'
MTJ7=I/W>(Y5X^;KD<MGB^6LUG<-UT^X$UR*FR,<QG*8'$"JCU4 /3KTX&U=^
M+[2Y\FL@\QC:'C=<OMJ-Y#-F>Y! &XB8RC1%%WE Z35DLHH8QT4@(B<3#U+Z
M\#I1/#KXZ4F?Y>WUY,R:?P^K>.RQG!@@(I/2R21A0:Y+(B)DI A%B=0$2J$*
M(?Y0X'+67Q+:(7&67GK-B*T3,V[*F1Y*O,Z; &?O"(D$B0/'">44SN3IIB!
M.?J84RE((B4H!P.-:^('0)DV?M6>&[*V1DRI@]]G.>P(**G;BW%HX!4^4CG2
M=,OC%]A4G:='_H$.H]0WY/$MHPE'K1*.,[VC$.6#J-<Q:.PFQ9(]TW>&**YW
M+8,K"DX<F[1_B' P_B$?KTX'7U?#;X^EG31\?$%P!_'BO\%\7/NPX/&I7"22
M*Y$EARJ(]BR:) .'T-VAZ>G A+MOX]M7,<YU\=&*Z+3\B5^HYTVBR!6,I1\7
MG7-HJ6BMP6LV8;VSCW[^6R!(N&K5M:JE'/C"U5;.%?B>V!Q*8Q1#&F3-!->8
M;R]:FZ_1,5D!#"EOTOV*R-;J0?/&;71I:]4>]8\@JQ:B2CK("]EA744SLJR9
M"LGK=LN)^JB1C)%'@68Z)Z.TW2[.V\1L4T$V/L/YJNN&+O4&/ZDG[-^?V:.Q
MD$=DVUNG]HG[!/'EIBV.1^6=PJ K*) 8O4 'H%C$Q'S3U:&4B+ ,&FQF&[V7
M0&*:2:<[$)M'R+B$.=R8BL;\ETX06!TB/NIBW H )5#\#G.!J'U#]X<"H'Q4
MNU'^2O+6Z<-?C.3>5+-#0X$3<$140A\/X%BF*Q154.F919JS34.).T!4,8>G
M E+:/&MX\KM89>V6_1S5"RVBP++.9VPS6 \92$S+N' B9PXD)%S6E'3IPX$1
M%10YC'.(]1$>!UIMXI_&<T*8K;0C4I R@D%59'!&.TW*_MF[T@<.RP/R7!41
M_P @'.8"!Z%  ].!^R^*WQM)J@LEHSJ\BH4ADRG1P[343ID,F9(02%*,)[0^
MV<0ZE !Z"/ _/^U;XX (S2#236SVF!SJ-2&Q76C@DHJ! 55_&T$%55!3#J8X
M'-T#Z\#CC^)7QCJ.GL@?0S54\N_3,BYG%<+TE6>,W,<BGQB3IXO\X1;%4( E
M3(N4A! !* = X&P+XA_&41R[=DT?US(O(-_BOU"XYB/<>H@B#< =G,!A75(B
M'0JANJA!_$4P&]>!]&/B0\;L;[?P=/L.(&2!R"1CPK]V9$'@)E7!$SR57,B7
ML2 "%*(%2'\1 *(<#>1_B>\<,4I).8[3;!+5_,L4HR8F$Z<D%@EH]LJ59HRD
M["#D)M^V9'( H$57,5#Z)@4/3@;X?%KH"+9=D;6#'!VCG_NMUDY]TD)Q5*LH
MX['<ZX(#]51,HBYZ>]Z>AO3@<:7Q->.4CMP_#4;$IWKIHJR<.5HZ56.=!4 *
M<Q>^7$$78] _U!.U?J #W]0#@<:/B$\:AGA)-33G##B;1;.&32QO8)^_M+!D
MZ!R"[!A:'DJM86,>K\HPBW1=$1 >T0* D() *^(3QKJM6S3^D7&*2+5$4$P9
MFM,>=0@@KU,Z486-LJ\5[ESB!UC'.41]!] $ XM;PS^+IVG')R.DV$9<8F01
ME8Q::A92:<LY%!0%47J3J5F'CD'"1_\ *;O]"CV_Y>H<#=+^'OQN+$51)JY6
M&*"WS .A#W'*4&C[3\" [9IHP]Z8I(QRP)%_TQ"E0+VAVD#IP.M_[)OB\_U
M!J;6"(NVZ;5TT1O>8$6#E!+O!,CF/2R*5DX[04-ZF3$1$>O7@<76/!MXLZ:Y
MH;FM:JQD:&,+9&7B@1YLIYS?U^K6F&E$9F+F(NK2.3W=:3<L9)N55,#-#$*(
M?Y>@B A;)]_[1$?\1$>G_#KP*P_,X=@GXPMOU)/_ .03QY#JNOP&/T22OU/.
M(B4@"8Y"F !$O00,'H/IP-UNHX..Q?BJ:)J*)+.MQ+FX*F0P$;K-F6J6P2S@
M%3]1#W 14ZD)TZFZ#ZAT]0LS'ZCT^G7@:<!P' <!P*L:2W<V#RR[B4BU2,A:
ML?2>ANIQQQ]97"<U1D@F\H;+P]A*E5GP.(L L+1@F1\"B7^K* %4 Q2EZ!8I
MCK&&-,05IO2<3X^I&,J@R55<MJIC^KP=/K[=PY[??<IPT R8,2.' IAWJ>WW
M'[0ZB/3@4\^3%XHW\C?@G;HLDG*KG:[90?=64!,K= NJ=R;NC$#VSF.J#=V9
M0G02@)T@*/UZ@%X(_4>OUZ\#3@. X#@. X#@. X#@. X#@. X#@5D^7')%$H
M&AVR[RXJ((/XK#MZM]-_-H=\_K[JWTV"<6.N)R;M&-?,4&J4XQ:^^D<Z2ZK<
MQP0$%  Y0@YB'RQ>!>*-CJ^NMGM039LCRM(1&_-J9)_K&$MET91<;;4*U;I;
M'Q;9#0$\\2*5RY%=!%5'N,Z4Z@H8 MTK-\TKV)L"D13KSJ_G>UUQVA:U8NMV
M7$F4;% O44Q2;60[&+=3DE%.4DG8E3>"0ARE5$ /T-T$)+/XQC)QKR'?-RK1
MK]FXCW;4!,D19FZ1.W<(=R(IG3*JBH8O4@E$ 'T$!X'1<08=Q=@#&E1PYA6C
M5[&F+Z'%EA:?2:HQ)'0D#&@JJX,@S0*)CF47=+J++*J&.LLLH910QCF,80[\
MT8,6"7LL6;5FC[JBWM-6Z+9/WEA$RJWMH)II^ZJ8PB8P!U,(^O Q)G377!&S
MM+2QUL/B.@9HHC>71L#:J9'K,9:81I/MH^2BFDZR92B"Z;*99QTPZ11=)=BZ
M)'!^PQ1'KP(B81\07C/USO4)DS#VG.)*O?JRFF6LVI^TF[E*5M5(ADDWU?4O
M,S94X66(D<2@\;%2=@4>GN=.!OLZ>*;1?9+.4YL3F/$,I9LEVJH5^D7%S&Y/
MRG2J_=H.J>Z2M%NE8HMRK4-:G<(V6%!!1\DOVH 5,0$I2@ 2HU\USPIJKB^&
MPOKY0(O&6,*\ZE7L-48=W+OF3%W-R+F6E%B.IV1E9-0SM^[44$%%S@7KVE I
M0 H!FO@. X#@. X#@5N^3G:?1;7?!C.E;\-?U'B?9!_,XG3H*&/9?)[VSM1K
MTA+6Z64J\%&RLDU@J/6$%I.0EB)@,2DF58I@4[.!5CXD]LE\7V/">JN*25.S
M>+NV7+8#6GQ_9ME9^3G<UW>Y:_E_F-/REWEBL8:F2&,L@LI&RLZ:=FV+)_&K
M:0N0$51'@2O9R;=W_<;3D<CWBO#^'BN ]]TABE*,AMU9G+;XARI]JA3)@/N]
MYNI3 ';]1X$FO*T1BXU9J\=)((.H^5V\T.8.FCDB2J#LH[G8,>)MUDU?PG2,
MJS 3 'KT+Z?;P+)^@@(]?7\1O^8]/_+@. X#@. X%/?F+%V:I>/9LP4*1VY\
MM6A!2I'*'8Z10R#-/G"(*].]$4VS,ZHF+Z]$^GT,/ [?L]A#Q0+;!6#(.S>1
M<38MV+R-3J=&SRTON+;-=;O:Z=3C2K2ENW-9J^:,=K2K**^6Z1:O1:*&Z=Y
M4$ $.!B-+!WAF22>JQNT=6C6JQ4V$J,9Y2,TH-W1S]!(E(F#:%0IG"O>'^80
M,;J' W#O$/AU<-F3P-MX)B6,7;?E\LR\J6:FJC'\1$3M&[LNT(HI(R13 DN3
MI_&*;I]>G WZV!O$*@T2^1L[%I*-G!W"$NOY/LWIR2";M[W?"+(GV:*?\O%P
MK[1$C")0[NT/Q#U$.%'!'A_C7:K%KN$,$^:*&(JT9>5W.;%XT6$2$_B)&V?%
MRBL102]O=ZE.(=.@CP.;<XI\2SMO)$/N:N+)S$J(N$?]V//2S1HS$A&[F02*
MYVE7(@HJ5N8IUC=2@)C].@B/ X1SC3Q$R(PHDWN["0GQG,0FS\LF6P216(V,
MR1?%#^I53WU5B&]1.)B'. #T^S@;M7''BC #E'?^<;%(L8R9$O+=F-L5J;L#
MN23 FRI/P  ";M/W=!$1_<'8,)X-\9TGLUB&[XXW =Y[S=0'=OL6',;67R"V
MK8M&)F']#EZU<;A6\8V3*=R5<S+>AR3Q-9V"*A6C8YE [!$1X'VRJP[O.=I_
M(I_',<GCPVT;N0 J179&Y<R8),B<Q_QK*-S+N!*4O0A2FZCW"(]O N#X#@.!
MJ'U#]X?\^!43XG$W*\KY-YYP4J19_P J.T"J*)1$P G#P6+J\54!, &#O-$F
M]!Z??P+=> X#@. X#@. X#@. X#@. X#@. X%8WF;8H2?BZW29.@(9NKA]R=
M8AWJ$<4Z;:Q5]R9,SYR8J38% 2[>[U-Z]"@8P@40V.Z[U*.V$\2Q0([1.[W(
MM#--,ATS(@#O4W8(RQ7 JB10Y?7JF8@=WWAZCP+1@$# !@] , " #]@#ZAP-
M> X#@.!Q\L=^E%R*L6D1>328NE(Y!3I[:[Y- YVB!^IB !%G %*/40#H/U#Z
M\#Q(1F9O(5M)ISMYN?C"_.FF\[;^2NHF[.ONN--;QFTN!<:Z]9\SHME^0Q?6
M'<Z_>M+W8\=WULO"'2;K.%P8NCM#F5$!3"W?^W;V(MVP&M^TB+S)V=<S8DP_
MNCE#%.N61]F%'BV=7^'(NJT*<C*UDUS*$)-/+33K!.2#591]U=@0Q4U.GME(
M0,A>2QNY<>2_P0>R9$$T=FMJ%U"&_&NI[6JME.8R2/0IA220*?O4 P@01#J
M^G O''U$1^\>!IP' <!P' <!P' <!P' <!P' <!P*JO+KCJV7'3[-*D!E&(Q
MC6'V-[I7LC'GL>-;]$3T78:K*56M/99VI9:[)T:$I<_8@D7DI'G5732 3JH+
MH(F3$,&>';'<=FOP]ZUU?(N)8['MU1PK/8<-,2^.HF*L9FM27M&/J=E2)BIR
M.(^:+6.N)-9U@9RFDH<CPIQ*4I^G BGH;X/<^Z]VW4)AF:S:0PF/]$KF_M>*
M<A:K80O=&VGSN9S#6J%4C]A\KV.U?E;BNV<;.1[88QJP>I2#E@DF11)+U$/3
MIP' <!P' <!P' <!P' <!P' \[GG7OK+7/+7B^W&O58L5@P-A#..P^.\YOJW
M5IVY.*O5=E=;K7B]C/2$!7(]_*/(M)X)T3E*!"*K*IHB/<J40"M#Q,QI,U8Z
M\+FHM'P[GBC630S)F8]OML++D3$&1,9UVB2,O7\Q0&/*0VFKK#QL?9IO)DGF
M9NHDVCSK^S&1RBAQ*0#] N1@';A3^XVR T[D/C)>'6F*F3+[?O@L.W\Z!3J%
M!,R@ 4#F @B< $IAZ=0X$I/)ZF5QA3!3-0 ,@_WX\?[1P4P 8HI*[<8E]3 ;
MJ4P%. = 'J'=T'[.!8V4  H  =  /0/V?9]?V<#]<!P' <#KU8MM6NL6:;I]
MC@K5#ED)2)/*5V683,>G*P<@XB9J,4=QR[E!.1B)1HJV=("8%4%TS)G*4Q1
M JQ\JC,\U;O%M7$U$$A?^4K7F<,9<J:G5.E4[*UK.5--0# 8Z@1G8'0.I3&
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
M+Q10]>G00].!</P' <#4/J'[P_Y\"G;PLKRKO!NV#B6<%<+#Y,?((1$Q2%2
M$"[#65, ]H!,)?XB(CZB(CUZ_0>G N(X#@. X#@. X#@. X#@. X#@. X#@5
MH>9)$''BVWF3,FDJ4N +<N<BRXMB>VU%FY4."@&((J)$2$Q" ("J< )_U<#H
MN[QT#YI\.SPSQO'G'>%86[ARD004)(ZA;'@5BD50W:1>337(W(/43 =0.WJ8
M X%M >H (#U 0#U^_P#;Z??P-> X#@. X%2^N$L1]YA/)W'BS1*>&UL\=+('
MQ5A.NJ55+:"4.FJB*7:@ _FI>@$/VB!.HAU'KP+:.!0;Y*K,W9>7;P)0#YF1
MHU4RYN7)-[ L\:@161>ZTR%?:5Q-CU^;[SQP]34*M_V>X )_F$.@7YC]1_>/
M TX%(^3,S[Q9\\I&8=,M=-BZ-K/A[7K5/#V7+=8W^ *_FRYW#(^8[A=&#*,1
M6LMJ@HN#@XBMUA%0A"IF6.L=43>X0R?LA(TFM7DF(4A3>3VJ*B+1TDNH?0_&
M13_*45,9HZ;%3RH0B0-DC]IB'!4J@E ?P]1 0X576[RGHQ92-/)OB=W,=Y1,
MK):#5%-EV]%>\A?@9M24  'V^@B01_S=?J'0.A[W:G[SYOT>QKCS'V9<5WC=
M7&&P^#,S5;,LGCM+&F.&4WC[)*$M^IG&/#SUY0.G4*V[57%I\E;\S4:]I2$.
MJ5, KPL.GOD.M_CUV7\;=FU,Q['2,1B9UD6H;7T[9>.L*FU^V3',]9S,>=<0
M<\PK%^QA8<I6:$</9&4EUDDX%PJFDT74021[ [IK?JAY!*O";)X3MF@VIE9J
MF2L4PMP8W[-VX^>M\L;Y5S#7I>.598LO]-S=(*7FNPLU"/9!!>6CF[=")>I)
M.R%D>A$0#"N8/$ENSEG1G)=8JF-<$X&RQ<-V=?\ 9?%VG\!GW):F L#TO#U8
MCZ39ZQ6\MU=A7K159'*)$'LR_2J:$0@S6? FV,FK[B@AWO&^BF\^5M4?(EKI
M-Z4X#T/4S[BJ(@<,6.(VPR5L;9[#E>NR:BT59KE9;'(VT\#7(T[8CZ.=-DD'
M[=PH4QT#K )B!-_6SQ_9UH.'[3HWL]'ZT;!:GY'QW84\C9QAD,B4K:+)&4K
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
MNJ*A%A$%DG[-( %+N'H(^AO0.G MT+_E+Z 'X2]0#Z /0.H!^P!X&O <!P'
M<"IS5ID4WEF\L$J+A,Z@8R\=T+\=,  4 9X[S5)F%82F'O44&7 0$P 8"= ^
MG3@6Q\"@3R*H$FO-%X'H-1,_MQECWEMWNF13%N!XG71S[1"JF3,?Y *% 0*
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
M*^2,L0]J?Y+UUR+KC*UZSC QT!D2QXWL[FUQH14=(A:8*0QG;;?$A#&<OCM
M*X61<^^V4ZI 3M,8,SS;Q['PTO(1L6O.23&+D'D?"-7#9HZF'S5HLNTBFSIZ
MHDS;+R+@A42*+&*D0QP$X@4!'@5B0>SVV;^1C;U,>(#,47?58<T I,IYTTXD
M+#'P+AVB^6@S6=UE&+EOR<[\OOG:DZ-_>3 _9U[1X$N<$96RCFF,M:&8]4,A
M:Y(,5F[*/B<HV_#-Z)<VRQ5/FKLD,6WB]M6S1BJ0H&!_[ J@H44RF#N[0[KG
M&=L-(Q';;/1<+O\ /EJJL6VD*KAN"DZA7).X2#1VU2:QD1,75PQJD,NR24,N
M15PH0I"(B"?4XE*(5JXSV)V;KDB^L5<\'V2,:6*WM6SRSS-:S#I5"2DLH8AG
M'M66399 @9&5>-W)A]' *F PB;T,/00F-B"W7G9N,M\'L]I+,X1C:?/4F7JL
M/EVSX;R]$7&6;A^HF=CKZ5)F+4RB96AS;)#L7<E172=B11N;N()BA+5_',)!
M%%-^R:OB-'"#YLF[:MW@(OF8BHT=HD=)JD(\;J_B34#H<I_4! ?7@5R+;)^1
MY1XY:L_&?$IMRN9$B$D^W7PZFS69-ES$CW"J#6FR,@C(2+<A3>Q[9TD1,)3+
MCV@(AGO7K(>SU_L%G6V%U6KVO+6-B(U&MS,/GFJ9G=6M=9XY.^CG"$!3:N[@
M&\8F!%2"J=9-514X 4HE Q@E?P' <",.Y='<9)UES70A<U9G W#&5^K5S=VY
M!1Q',ZG-4^<CI*20*11-,'L,9V1X7O$ $B)@*)%!(<H8P>Z3Z[9W@=*KEE6N
MNLEFU5J2$MB2+N N7-0>2UIQ8PQ^O:KMC^:;C%V&P-*X)S,#R+<RT:Y744*!
M51$0#$LQX<- 29\Q-LOC+!-0P%E;%TQ-G>R.#Z_7J'7\I4>U4RQ4>VXJRE3V
M,2I5K)1+-#V-0729&C=X)TB@5P!#*%.&!<O^%;$D7D+3C+NE\B[U_N^HVPM.
MR!5(&>ON4;EB&#PN],^B<X8NQYBR9L,[4Z4\R'5)$Z*"K)HV00<)ICU(0H
M8&UI\'&4L">3[8#R AL=AU:MYISS,98-0FVK5#L>3D:M*%DE?T+#YDO"TO)8
MH0>.I40EG=8:I/I5) @"X1$YN@24SOX(]+LW2FV-S+/;#8WRAN5*664S)>\9
MYUN]/_4B4_6"UM"I3=3C'R--L^/8HA3N"1,DQ<E4477*=3VU.TH=DQ5XF6]2
MQACL]EVKV%KVVD1B&E85S%MQK[:4,57+/=+QLI*,\?M,@5.P,<A4N4D:E6WR
M;!G+JL5)Q$$SG(\*"IRB$?\ RQ8*P]A37?Q_Y$NL3DW-%KU5WRTM;U+,UC56
MR)GEK#3&78V"M\A:;B$<,[88^<CY WSVQ2D1<NBMNQ,BA$A*'H",( )NHAZ"
M/4?IT_?]W TZA]>H=/KUZA]/OX&O <!P' <!P' @OL_O%7-7]C=', V6BS4\
MANUD3)>,8>\1DFR;L,=V&AT4EVCEYZ+<)BYDXRQ$!1N91%1/X?MBJ?N+U  [
MW+[<XPC,_P"NN!XU)]:7&T-,S)<<:9+JBL3.8Y<EPDTJ<E9H1[8&$BL*LB^B
M;45=F=$JC<P-54SG*<I2B%>N+8I9#^X-VNE%G)52.?&+K<FT0+U'XR)\[Y'2
M6(83%#M$[E@8_0O4! _4?7@22\E35R[A-)$F\>G(%+Y*=,'+GW'9&OP6[#(:
M[XTB0AS%^:=L9N  B'4PF.!P_P G00LEX#@. X#@:" "'00ZA]P_3@1,S;H]
MK-GVW1V2;KCPL+F&':*L(7-^,)^PXES9',5$?8/&ERCCN4KEOD(8$0  8/'+
MED40 P)=0 0",VU.B^7K'HY;]/M2\QRE?D\LW2.8Y*RGLS?LF9KLQ,4VFR-9
M',C!M+RTN\LLZ_L]::'AF\89['LDV+Y<J:S8W:;@5V7/QH;<5JJ8GQ[%(-,Q
MY$U=LF1*7H)L77\T,,)1NO\ BK(5'@W\%,9/PC8XK(\;=B8-O,0C Q:+ 9&8
M=U=DV(9R0_O>Z'3:IX1]N*9KGC3'<9LU'-,[7F*O&K.WN8H=)$]6L>FTBQR\
MO0Y+'.*7,;$5=KE:I7:UQT^E).B&GT7[Z1.$FIW%*8.9R]XF_*?=;18MF:CO
MA2:3L]':A8OUDC:Q 1EU6QMF=M 4*P0N5CY$L3R3C)W'9;Y=[">?CGT(U=/X
MV500==X*)E  S5MUH)G+R ZN7BB9XU!PA7]BJ3@^!J6 LISFR$YD9HKD>!F:
MY)#(R,2SHU?B8V)?/HA9\==\VD%EC*%163$IC] OPJ<&RK%6K5:CHN)A(^O0
M$/",H:!8LXN#B6L5'MV*$;#1D>@U81\6R30!-N@@DFDDD4I2%*4   CQ![20
M\UN5D+3?]$V)C/T#7_'NP)[\Y<1YJQ/0V0;S;J*VK\6U24-))RD,^J"BKE14
MI4C%7(!.O:8>!*;@. X#@. X&H?4/WA_SX%3/AM;H(:QYE.BV09BZW^\A;I5
MJV)V)H*J;<Y3()1^PQSD3*<1#T$3<"V7@. X#@. X#@. X#@. X#@. X#@.
MX%9OEAIV2G.J,AG3"4VPK.9M.;= [8469?LTGJ3N,Q0D_7RM2UDCI*J*-,@X
M:DK!$'2+V^\=R0HF+Z'*%C%:L,5;:Y7[7!+_ "H2SP<388=ST /D14U'MY./
M7Z 8P![S1T0W3J/U^O YK@. X#@ _%]/7[^GKP/&UO*7QI16\7D@/L9B)UDG
M9TUYTUJVF&/=;9EY2]O;+EJ<P"_7,3#=GQG)Q%QJ23BT.TQF9ATH6-9*@4SO
MN4 B9@NR\,.MF\>MVI3:+W[V%O.:\S7B;"WLZ==[&SO3K 57<,DD8O%O\Q0;
M)REYFF:104E'BJJK0KSJFT "%,HJ&!=Y7K!KYS_",FH]:I/EZCY $BM!>*J.
MUFRV E$P$L61,2D247 "E<F, =P"0>!?;P'_ )_L#[>!YY/'EL-@/)?F]\TM
M<H>1Z[;[@^@M.V[)K%MY4ZP-<)XUD<<95CT91P@2,6_1N0Y-%BZ22-U^2H8Q
M.\I3& /0WP' <!P' <!P' <!P' <!P' BINLX&.UJRG8/U;<J:E4*C9[F[?T
M1W6VDW*,:G69B=?5E<UOJ]RKB\/8FC([5T@YCUP635[2 !Q+P/'KM[OWY!]/
ML&ZH;1_[FEJR9%;06FB6_#&,L&Z4XZ+J97=7XR0I87-?)^0)&H/KU%S\/3YD
M4S-&JWS%':2GLE1(4QR!9_Y*<]["3R=/\FNEV[5KQ=H5AC1/.F29W*.-28^R
M]B7-^94[S!P6-,6NL$WE0RBLW*O"O$GT\9H"\.#/XH*MW!5 $+9?'(CN!#Z'
MXLNNX.3S[ [-9 H268IU)M3JECIK67-\@&UMK^%X^/J<7'QJI:85XG&*R2Z1
ME5W'N',(IE)P*2]'?*GN_GV!QC=L62%MV\MDIF1@UWBPK*:>3>&:7I-C^/=V
MC^:%4HVPR3^MUO(^0* RA"HQ<,5.U2<\]*8!.W%4I"AEZE>9JMYIKNOVV,KM
M_C[73!%]W A,#'UHB,=T3(^7JU%N)NWU9E';<RT]=&UVQ2_R.K!HND5*U!=E
M54?LBO%WJ7R3D#TJ2PR*D;*MH)RP;3XQKT(A:406=L&TF=JH6-<R31LNW<.6
M"3PQ#*D34(<Z8"!3 (@/ \B?D>\@&]WC-O\ KJGF/=^ S!ENYWW'=IRQ@BI:
M-M:GIU5=<I*XN*Y=;S,YI>KVW(U7D*TZ;F,S<FL"SL%6X*+,TTQ(*H3O\S-Z
MW:Q+B&S[@ZS;GYKKN"V>+*Q"4/ .IVK6(\X9!OF5[P[?A5L@S.2[PQL;V(Q0
M_:NV'RW4>U$[- !.B"BBI!X%>-W\PFS.*_[?/!VSE.V/H%[W44S+C[7+/UQL
M5!BGE^H.0K/9[0>WTX<2S*<3#2F;*+56[/HB_;H1S]LW</RIBF)>!W*G>6W?
MG1#?&F8F\ESB7LWCTSE,M,>X:W$O>O54P];OYARE,K\_ .).'PY:;96"51[,
M/%&3GY#8CE%%7Y9A23;KI)AZZ4S@H0BA>@E.4#%$# 8IBCZE,4Q>I3%.7H("
M'V#P/WP' <!P' HV\T>%-H\@3?CZRQJK@);8JUX#VAL,O;*0PM-=I<HWJ&2L
M.7G&[F8&S6ITW@X> 8OII$T@NJ57VB@D82@3N, 0G\>GC7\H6M,MXI4\S1.H
M3_$^D41L!1I"A8TM&06V4J7$[%1,H2>OTW>YF/>4S)CN*?N$B*5Z-91+<@@*
MI'CKH3VPGWB8% \]VV)'!C/'3;QJ:O-E7Q2BDBF;^=F5U5$BMBG.FB+TYQ5
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
M(,M6(V)CAFOR]PW3, "JW17(F"2R:B/<F8/2$F0$R%3+_E(4"AZ '0 ^P *
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
M5@/V?C:L=;':*I2]X=W>91\0  @]_KU ! !$ _/CL;)(Y^\LJK95<[9?R"J
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
MC"O5UPMJ000:HHMFJ*39LW230;MT$R(H(((D*FBBBDF!4TD4DR@4I2@!2E
M#T#@?7@:A]0_>' \E&JVT33Q';9>5 OD6PEFZJ&V5V[N.PV$]L:)A+(&8:)F
MK%DPT:Q>,<+,+3CVNV&0B;-2(MF1-K&R0MVQ7#ER!CH]"G5"0W]M]IQDS"^*
M=K-P<N$R)4+7Y ]A+AFF%P_?X4:K+4K'3:YWAQ1K!9JLH8RL1>KNQLBKITEV
MI%1CR,B 43 <>!EK>AF@Y\[7@_4.L8JK:G^05P*)DB"DHF37E^BGVK&-W"L#
MAT4X% .H>V ]>!>Q:@GC5BQEJKR(CK0:"ERUN0L#9R\@&$^9@X+#/)QFR<-'
MCJ&:R(IG=))*I*G0*8I#E,(" >4S!OF\VHG-?XK8;*#W =N_2!)QA=,.8&U@
MW"4F[_=OURZQ70ZB7/\ >SI:ZXBKUQN;V.<?GYWTTV(W<^TFE[HB0 F?8O,G
M,U6LU]OE3#>--?,DE9;UT')4M?\ +B<WB2D;(ZA4"G6VOTVH7>+BJR?*]5R2
M^N*2!56Q8V336;.&2:!W:1R@$=D_.=G"(MMDH-ZP[2<;6Z(>^+YZQKT\6R.W
M$BAMS)86@-GZ"FFA,HOS9%PQ,9LC'+8G7_2LEDQ>IJG$PG#-.J7E4V1JT!7K
M?O35,:36$\F;MYCTQJN>,0%?5V:Q7E6L9VMN(L;T[,F+9AP]"8KUU>0Z#9M9
MZT[<)LG)P)),D^HNA#T1>OVAT'[0^O0?W_;P' <!P' <!P' <!P' <#&V6*_
M#3])E!F*Z6R#")JV&+:D09JOVLI%-7*R+F,5>-W -72[?W6JATR@H=LY52Z]
MJA@$*_?'#J]KK$:>X5-%TG V5&4U25G$IDJ)@8B]-;Q*K66P*R+MO9++5V,I
M,0R*ZQDD1710.04Q3%(H$#@3+>:FZKR/N_F&L^OSX7"1$5Q=X:QRX%=%,"%(
MDL*M<,*B1"IE "CU  * ?9P.N2&CVETJZ%[(ZD:TNWADO9,Y5P?C45S)>H>V
M90M; PEZ#]O JN\A_@<UUV(&J;"Z=5NB:<;WX+M$=E/".8\952)J=8L-XJ1V
MDG7*UEJN0#-M'S-9>2,4W2%XFA\UB0Q^@+HG5;JA+_QL[\2&W=6R!BK.5+1P
M?O'K'.-L>[5:_NGZ"RD)8BM$EHK)M /WBM8<.Y,:'!]"R*0JHE*<6XJ&%,%%
M LUX#@. X#@. X#@. X 1  $1] #U$?V!P.@Y/R)%8KQED/*<I&SEAA\;TJU
MW>4AJDR2E[+*L*E"O9R0BX".,X:IO9ITA'F300.JD4ZPE QBAZ@&/]6MBJ!M
MWKQAO9W&#2=9T'-=#AK]4VMKC4(NSL(F<1*H#":8MW3]NSDFJR(I+%1<+HF,
MGU(H<G:80K*PR]%GY^=UH8L<U*6;\=^JEA5DR$>B]%6(R?DB&(S74+(!')(G
M3>]Q2&:&7.*8B54I"F(<)&>1I^FPEO'AWMU%S/O)7KVP3[ (((G7I681]]3N
M43.5-,A#>I.H]1 ! 2B("%D_ <!P' <!P*>?(3:J_@;=#QP;:9/96YO@[%SG
M:'&%[O%6I]HNS+']CS;CRL1M#E[O&4V#G9V*ILD[K+MHM*"B+-BY41^0)"J
M<H?GQ!&>65OY#LRQS.3'%F??)!G7*&%++)1,W"DO>/C4W%E._6<,SL3-A+J5
MR4L54?),USHIHKE;F,@ H]AA"XC@. X#@=$O;+)#U&N%QO/52!<)6^N.+8M;
M8&1GTGM#0D"*VR+@$(V6AC,+5)1I!18/%U%VK10XJ*MU@ ""$-,1ZYY*I?DB
MW,V9ET:\3%6<L!ZF4*EKL9==Q8E[5AUYF8]P).PJK5-..;MVEVC_ (BR:JA'
M!#F#H!TSAP+!N!\7"Z#5NNZ<K)-FS9%1PY<+'*FBW;HD%19=90X@1-)),HF,
M81Z% .H\"L#Q:2DAF/'^>MU)F-<QQ]S]A+ED;'R,B<JLFVU_QZW8X;P6BY-V
M$%%"7JU'5GD40#M3";-T$W<)C!:+P' <# >7MI==,"JD9Y>S3CFB3"H,S-JU
M-V=B6V/$WZH(LU6528F?6AZBX5-T*=%FH01^W@1^6\B&.Y)XJVQUK_NIEYJ1
M)99*?H>J.5&51>I(>V(FC+AD6+H-9DQ435 Z94'2AE2_Y.[TZARDGNW/0< 6
MSS>CN];.%,X*D)HW%F-KC.)H&*8QGJE*HN9+/?"MT@*(&+^5BMU^A! 0$0QQ
M+;VZ-Y.2@VF9J?>:P1G)QTS!M-F]2<QTU&,FF:B<G#R,<KDC%(1;*6:N4"+-
ME45RK$6( E$#!P(3[U5[$^X.=, YCQKL?IQ::90<,;(88N&*LN; Y!P?+WU+
M-LEBM<[6"O6,)6)MT(DQ:8\50D&P@(NV[HR1B"D8_ D[XL=4T=38;.4*TR3A
MS]#Y8NM:NF,]9\%7^UWO$&N$3'T]E"62!QW+WV;D+&Z:W>>;J2KTB#6-C$G
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
M>P.&3 ATS/':45&*BDD!BBJIT* AUX&L;EVJ3>%(_/<(63DJ-,8L:9?B"E:
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
M8_2]IJ,X)("O;>85*ZCW4MA'(\TV<,2H6B'3CRO:3/KB=6'E42-E#&8.7"?
ME;JAM;BO<'%#3*&,7;QFYCY)S4<F8YL1$6.1,+93A$D"W'$F4JZ155>M7JGO
MUO9=-S]4U2"1= ZK=5)0P28X#@. X#@. X#@.!YNO*[D997R?>-["L;O=E71
M)U9\6[#2PW.C.BN*]<K?*V#'E1Q%1;-5+5$6'%5E"QVL[L"I3+5)0S=$Z2+I
MLJLD80LVU%U*VIPOEK)^7]G]_L@;=2=XJ=?IE8H/\JZE@_$&/(^"?JOE9Z'Q
M[5)FQ,G%XF3*>V[DR+MO=2$Q3)&ZD%,(FX719I?W!.[IRG(9XOXZ-3SG S5
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
M-\DX5BI_.]\3;IJ7>Q-B D)B)Q+ 08-1.X"QO@. X#@. X#@. X#@. X#@.
MX#@. X#@. X#@. X#@. X#@85V0PM5MC\ YFP#=GDK'5',V-;AC2QR,&X3:S
M$=$W&$>0;R0BUUBG;D?LDWGNI H4R1CE IP$HB' J*\%_BU9^-C&>;_RC:6M
M[/5K-UPJKNM2&.JS#U#&M9BL5PCV@MU(Z*KT_.0KV\SWLB6R/T!2%V^9E%4#
MJ@<W O?_ &?;P**_)@HVC_*'X%950A!6/L1MS!%%0QRE[)G5Z61#H)?PBJ5<
MA>PH^HB/W=>!>H/^/[>!^0 0$XB81[C=0 ?H7T .A?V>G _7 <!P' <!P' <
M#\'("A>T3'+T,0W4AS$'J0Y3@ B40$2F$O0P?00Z@/UX'[X#@. X#@.!M7PM
MBLGAG@D!F5HY,Z%4Q2I@V!$XKBH8_4A4P2Z]1'T /KP(5^.RYY:R%JC1;GFY
M_$2&0)ZPY/<+'@"&+#-*JAE.Z,Z!&L3&[_=+'T5O')'4*JY245*8R:RJ9BG$
M)O<!P' <!P' JBVFUYRQKWE*=W[T8JJMDR2NW2<;7ZFPJ\?!P6ZU-B6+=@UG
MHMR[($;6]H,=1+<35V;$"$G&J8Q$B8Z9VRB 3IUQV*Q=M/B&I9HQ)-GEJK:F
MAO>9/VRD79:E8V!S-+-0[O7G0)R57O5+ETE&,M&NDTUVCI(2B E$IA#.G <!
MP' <!P' KHW<SEXR-8YNJ98WHG-8JC?'-7M;#'$UF.$I4KD::KD*B$M8J_04
MYR.?6!^@HN=,OQ&O0B[M=-(.JJI2B%:']O=?]>M@(C:G;^,>T@-PMMLK3>5L
MT4*"C'#.>P3A&-LLY2-;<+/RG@XIFQ;0-*K@/%2(F,J]<O!=+]3'((!G3#Z;
ME#^XDW*!8B (R'C1UJ>,3E< *IT&F8K>S6,=L!.H_P"J[R]PF 2 4OH('] O
M2X#@</8)V(J\%-66?D6T1!UZ)DIR9E7JA4FD;$Q#)>1DI!TH<0*FV9,FRBJA
MA$  A1$1#@5:^).M3%WQ%E3>B_P4G"Y0\@V7YO8/X=@9?"L%8P7'-$<?ZQ4%
M=,X?);Q\+ANO,93XYS& C^;=G#T4X%L7 <!P' <!P' <!P' JIU[$AO+OY*#
M ;\1=9_'FB8HD5 0$B^TRWX5 **!B]KD.H"/?U^SIZ\"T>3E8N%8/)29DH^(
MBXYHX?R,E)O&["/CV+1(RSIZ^>.E$F[1FV1()E%5#%(0H"(B !P*R[AY [5E
MRYFQ!X\L2CLM9?<=,[+LI//G4!I-B95%)R54\]EJ*;R#W+5F9.DB%"NTY%ZJ
MJ*@>^^9D QP#+&"=':Q2[E%9^V"M;C:3;ANW>E2SQ?X..8ML=M9= B4A4=?L
M>M2JUS"E'*D'LBG'E4EY(I04DW[U8>\ G7P' <!P.NW"UP=#J-IO-G=C'UJF
M5R;MEB?E;NG9F4%78US+RSLK1D@Y>NC-F#-0X)HIJ*G$.A2F,(!P//8T_N Y
MO.="R!F[0/QM;3[@:WXFBY>8O^P$I/T+7BC"UK+!64MS:@L<D+/+1D24K#%(
M3.VS%F55+UZE^G<%B[SRNZ05+7?4?9C+V8HG"N.MU(ZE+X5<Y#:R;([V5NE<
M:V1*'G'3%@]8U]*$;.@3?2+U1O&('$@F7 JA!$)RWK)N/L98\LN6K_<J[4L9
M4ZM/;E:+Y-RC9G5H2IQ[,9%[8I"8,<6B,.W8%]XR_<)/;_$ B' H;SGY_P"+
MJ.(;EL3KWHELIG76ZFB=1IL??)S'>L>&\KM!=&8QRF '>4I1SD/-+ZQO2BG$
M,HJN@[EC!U;$.42F,%R=DV@Q/C'7."V9SW8F& : _H]4N,^&4GS:%DJD]M<.
MRE&]+DVQ>]9]=&[IY\$(YFFL[<O2"DBD<X@40PSK+Y)-4MM,@RV*,566_1>2
MHZM/+PQH^6\-9:PE9;70&$BQAW=^I47E6FU-S:J>UF))!JJ\:E."*RI2J%+W
M%ZAA5WYN?&&RL-]JB^T4&K8L7W:T8ZO<1'4C*$R^K]PI\JO"3D2LE#4B03=
ME*-5$45D#JI.3D'VA.'01#..OGD2UXVCG+''85C,\V& JU/D[C)9%G];,Y8\
MQRX;Q2S4B\%!6;(M%JA++:%T'95V[*/2<F71*82&$Q>S@9AU4VDP]N=@FC[&
M8(FW\YC6_$F@B%IF)=5^?8/JY/R=8GH:Q5]]T?P,Y$3D.X0<-%P*LD<G0P!P
M)$<!P/DLLFW16<+'!-%NDHNJ<W7H1)$AE%#CT 1Z%(41X%(\OY,=D=N;!,4S
MQ):XP&9:I7I&0A;/NMLY(6W$VH[*Q5^5+'3]1QPA&P;K)F;9Y@Y17:.5XEFV
MC&+DG47"Q0]0ESXZ=N\A[8XORBAF^@5?&.P^N6>\C:W9XJ5"FY.S8\+>L?J1
MKMM8Z!8)=C'R4C4;?69QC(-0<IE=-_>,DL!3DZ<"P3@. X#@. X#@. X#@=;
MN,)^IZE9ZT*ZK4+'7YB %V@HJDLU"9CG,;\I%1$Q%4U6XN0.4Q1 Q3% 0$!#
MKP/%[X(_'9@#9OQW2,+CC8;=_5'9S#N6LSX&V0LNO^QN6J!%NL@P5NDWK45\
M=SSR7QNXC9*K23!58L4R8+@X*<%U2N._J'JAT9U3L>FF!XW!]CV.S+M$I"V&
MP2<1D?.LHVFKRQK\LZ36B:8$FD4[IW"UI!,2-SNEW"YSJJ&[BD$B285Y>3AL
MR5\E_@8776*1XWVAVD!HW,8HE624U<GU'!_8-T$ZB2S9$"' 0]LQ_H(B' O3
M'ZC^\>!IP' <!P-J\.Y31[FB::J_N) !%3'(F)!4*"HB9,BIP$J8B(="CU$
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
ME]PQ0 3]I0Z!U^@<#]_L_P . Z_</IZA_@/0?\!#IP-1$0 3B(@  (B81Z
M '41$1^@ '_#@/7[>O\ Y_9_[N!\E55$P3[$E%NY4B9_;,4OLIFZ@9<P&$.X
MB?3U O4P]?0.!]>H].G7TX#J/WC_ (CP/SVE _N=I?<[.SW.TON=G=W=G?T[
MNSN]>G7IUX&I@ X"4X <H_4IP Q1Z" AU P" ]!#@. X'Y$A1,0YB%$R8F%,
MYBE$R8F*)3"F80$2"8H]!Z=.H<#4Q0.0Q#@!B'*8AR&#J4Q3 )3%, ^@@(#T
MX&V9L64:V(TCV;5@T3,<4VS-NDU;D,J<RB@E11*1,IE5#"8P].IC"(CZ\#=<
M!P'V /V#]!^_TZ^GW^G =?I^T>T/VC]P?>/ ZRTNM-?SSNK,;=5WMG8)F6?5
MQI8(ES/,D2F*0RKN'1=GD6Z93' !,=,  1#[^!V;@. X#@?%RX1:(+.G*A$6
M[=,ZRZQS 4B**91.JJ<PB  1),!,/[ X%+%@\YFM,GK_ *^9IP%BW/6Q5GVS
MR[D7"VM>#Z95H.MY*RA:\3R;]GD"61&Y6"*KT+2:^QCQ>J2J[OV1062#H!S&
M*0)NZ)[NX\WTPQ(Y7H]3O&-IRG9$N>'LLXDR:RCH[(F)LLX^>HLK71[:SBI"
M3CP>LRND'"*J*QTW#5PFH'3NZ %=/E9=-V7D0\"[APW<J=VYV;&23EJW,N=
M\EKU,L4DCF$002;KN5R&5$P]X))F.0![1X%\P_L^G <!P' <!P' <!P.#LL^
MUJT#*V%\TF'[2(9.'[AG 0\C8)IPDV3,J=*-A8ENZDI-X<"]"(HIG4.8>A0$
M>!S)#]Y0-VF+UZ@)3 )3 ("(" @/[0^OT'@?O@. X#@. X''RRKM"+DEF -Q
M?(L'BK,'8JE:BZ3;J';@Y,A_&*W%8 [Q)^("]>GKP.IXQEG$[1*W,NNOOR#
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
MRRN/D"585$6NCV!4HP53+"HA\=NO.NW23=)/HF8IU3G-T$0,'7@;QMJKY)B
M]%?RLJ"=<CE9N5+2+!(D:OECF.B0/DSBXGB6Q1 H( )5C 'JMP-JZU)\DJH(
M(-O+-*-6QNAWBHZ38!5DO<[3]Y&3@9+XS= 3J=0*HDL8H%*'</01$)2ZOXGV
M4Q1%7".V-VL-M2ZDY6,<4N;7PM2<-OJI$MF2R4E'/V])?O&5D<RCY0JOOG(W
M! B8$(3U,80E+P' V[Q)==HZ0;.3,G*S9=)N\*DFN9HNHD<B+HJ*O\)8S=00
M.!#?A-TZ#Z<"JN,T_P#);')%;G\N4[)(^\X.HXE-*=?',F*9Q6]A(BS9]'LR
M E[@=>J1Q$"AT$.GJ'V_I'\F:C4C=3RW/D13<"7Y#?2#7_Y2C!("$;%446DE
M2#(G*90RZW3VE#]@E23*4P&#5MI]Y(A_"]\N=K$O\4IS-=+]<4%3)G$P(^V=
M3Y)47").G<;M,0QO4"@'IP.U,M4=_DD7#>0\J5Q>%6:K(IN&^H>N#%TW64Z
MFY(H,<Z()T>T.@"3H(B/7Z\#8KZA;^N%DBG\L.0T6*9% %-GJ7K4@_45Z$]@
MYWQH15$2$.7J<OQ_Q@(@ E]! .#5TH\@#M\Z=N_+]F1NBN@!$H^#U5U:CVK=
MP5,$R+%-(5"9<BD82@8Y"J$,8W7H<O7T#*^%=7MO,?7BHVC*/D<RCG.MPJ\H
M>SX\G,"X I,'<FSF.5:Q3=65IM8:V."4BGRA7)U&SLWR1(!#%*41ZA.R:8.9
M2'EHQG*OH)W(QC]@UG(PK0\E#.7;55NA*QY'[=VQ.^CE5 62!=%5$5"!WD,7
MJ40K2)HAM4<""\\L^Y2R@N5C.1:X]U&8)*L5>\I6B":.OYSM5D4Q+VK@<Q^\
MHF$/Q= "J':W6V^Z\>4/P<S-^W V;VF<VK9?8J%:M,YN<8C6ZF)-=)81?UZ+
MQKCJ@-V4T].Y$AU%_DB=OU*':! ZA<EY7:-E?)/CPVLIF"(3(]CS3*XX]S%L
M3B2>1KF0EKW&3T-+5Q:O2SB4ATFZC.09D6<D%<!6:$53 J@G A@\NMZULVQS
MV74K+#?6W+F'M_L^^:J4V2BKE?*6:)LF'=<\+8^J%4GY'+MB8N95G"4(M2A"
M%BH,7HH/S*'1:)JF,<PA[DB < -[A@,(J*B @ @ $,H84R^OU$I! !X'[X#@
M. X#@. X#@. X#@. X#@;)^HW2;'.X @CVG!L0PI@JJY*D=5)-H"ATP.[-[8
MB0 ,!NH=0$.G4 B]I8UI[+ ->9T*/D8NJMK!?4XYA*LV$<[27-?;,>6.+"->
MR3=NDK,F<"F(N%E54^U0YNXP@ 2NX#@. X#@. X#@. X#@=8NM+JF1JA9Z!>
MZ_%6RE72!E*Q;*Q.LT9"&L%>FV:T?+0\HR7*9)RQD&3@Z:A!#U*8>@@/KP/+
M:XR]D+^W/SU$XZR_(6F^^%3.UI<P6OEG:DD+G;M"LE3CE"<>8RMDE*$_.7V#
MI)19^M$@+IXX;HI]$""J@Y36#U,U6UUB\UF"N=-L,+:JC:(ME-URS5Z39S$#
M.Q$B@5RQDXF58++LG[%V@<#IJ)G,4Q1Z@/ [!P-!$"AU,( 'WB( 'K^T>!H)
MB@8""8H''Z%$0 P^G7T+]1].!3#I^R8(>8_S)RI$#%5"B>.A%>044,JD1(^&
MLFNU4BN!*5NT;?PRF%$3";N*)_H/0 G'K'O9K%N+==B*)KID9KDF4U=OL;C3
M+4G#L7@UEG;I-B]>),ZW8SI!%VQFW4BW;=9TQ.J@1RU4*!A#M,8)?=!^X?\
M > Z#]P_X<#3KU'H'J/W?;Z?7T^O UZ#]P_X<!T'[A_PX#H/W#_@/ =!^X?\
M!X#H/W#_ (#P'0?N'_ > Z#]P_X#P'0?N'_ > Z#]P_X#P*V<S^5O4#7G>'&
MV@^:;;*8WRSE?&2V3:A<K<TCH#$"[,KR>:LZZ_OLM*LV<=8I/],O/CD53!L9
M4A$16*LJF0P9SUHLVF^2[+G;,&J-PP]D:PWRZ5QGG^_XBNL/>D)N^5"GQD16
MV-IEX"6E8I*:AJ4JT(FDF*8@U.F80'N PAG@V2J.G(W.-<V2+8J8[08N;RYD
MG)8N/J[:2BAFV3B7DI(&D>W;*Q)??%0%3)ID_P XE'TX'),KQ2I,S@D;<*M(
M':+L&SHC&P1+P[9Q*%*>,0<$;NU#(+2)#E% INAE0, E >H<#M'3[?LX&@B
M (B(  >HB/H ?O'@:@/4 $/4!#J A]!#[P'[0X#Z_3@. X#@:"(!TZB =1
MZ_:(_0 ^\1X&@&*;J!3%-VB)3=IBF[3%$2F*;M$>A@, @(?8(<#]<!P' <!P
M' <!U_\ /TX 1  $1'H >HB/H  'U$1X'Y*<AA$"F*82].H%, B'<'4O4 'T
M[@]0^\.!^N X#@: 8!'H @(] -T 0Z]#?0?W#]G U$>@=1] #IU$?0/7T#U'
M[Q'@:]!#Z@(<#3@/IZCZ (] ']OW?OX#KU_Y\!P' <!P' HC\I+O_P#R.^!J
M'4^4FU>[=;!29W+=),Q?EP^MTY\)HJL*2RZ971WAN\I2@0R93"8Q>T! +RF<
M-%QSV6D&#%!J\G'*+R7<)$ JD@Z;MDF2#AT8/515)F@1(!'Z$( ?9P,2YXRI
M<,1UJJ3]-PQ?,Y.IW)^/:+.5W'CF#2FZG5KE86T).Y.?MYUXS3D*SC]NY!])
MHMC&=_#*<Z9>A#" 9M$.@_7K^W@:<!P' <!P' <!P' <!P' <!P.NVF"+8(5
MZR2<!'2A&SU2 G2,HQ^]K4XHP=,V-ABD)EC)1H2<8+HQTA6053'U*<IB&,40
MBKH9BYCAS7Q&B,:]4JR+3*.;IE^PHT+^G:LZE;1ERYV23FHR%+:;JE'?G[V5
M.^6(G*.DQ<N%#$]HI@2($S. X#@. X#@. X#@. X#@8MS3A3%>Q.,;?AO-=&
MKV1L:WJ(=0MFJEGCF\E&O6CI,R8+I)N"'%E*,3B"K1VB)'+1P0JJ1R'*!@"D
M3!G@*2UBJ#[%NNOE!\DN&,.I6J2GJ?C.DY6HY(.EQ4NFJI(5R*+.4&;:@BYE
M%C.S.DFS=P97ZB(B<Q@E@CXO+@A&J,B^4ORH*.SN6KA.57SUBI9TV(V!4#M$
M438&!FHU=^X'N>\FLIU(7M.'KU#>LO&/;6_M$=>3WRA23<CA995%QGG&;=1R
M15 B0-U7D?A!F]2124**A/942,!C"'42]I0#JK[Q+SSUHJP+Y5?+DU9JN%%A
M31V@H)E@04!0GP?S%;!RLL+4"*B ]7'N#T >_J <"A5KX0(';3R0^4G$5@W\
MWWARXLAM+U7=H#-K6:MV5HW*&';?+NHO,2J=?K["VL*F>%090H 5#X;%5=(Q
M%!4]P [#XB? !FG7J\>0G"V?<T;9X7HZ%]Q&RP1E_5_,TAAN!S?2HYK;)E*X
M&CFOZA0>3]<2>,H]\W?-!(Q<**ID[RF!0P6V/? WCB29R;&0\CGEQ<(24BUE
M1[=T#-E6[QI\(Z*B:C3'*'>8'#!)0>X.@]O:("01*(2*A/%?"P#&49L-]O)W
M[LP1$SZ06V_F%'QGB)$4ADFXEJA&;)XL@@0A_:1(B)0]$P,(F$/PIXK(1Z55
M&9WY\HLVS5302.Q>;GVAD@*:*X+'#W("O0CP3N"=4CG%43@F8>P2FZ& .#C_
M !#TIA(*NQWN\H[QH(*"QAW6[-U+'Q*@&.=DNQ790[*764C%1(9+Y;IR4XI%
M!8%2BH!P^LWXA\<V!X=_)[J>3A1VHG#(&63W?R4A_I(@G:9H5-) J94I,1$7
M!@ %0$?X)T?3H'17/A!PBZ<R+@^YGE#3+(N4G8MD=[LII(-5T@)T.W[4Q7.)
MSIE./O'6]0Z!T+U 0V!_!C@PR)44]S_*.CTZ^ZHCO=D\%W( X.Y3(JH= X%(
MDLH(@"92"/T,(AZ<#%6,?%SKAG5SF:LQ&X?EEBI#"&5YO"5L96+=O(#)VTGX
M:#IUT_-('V3R*<I6;/ 6^.?,W;CJHHDY,3VT1()"AFR5\)>%ISV0F-RO)Y(I
M)'04%!SO+DH4EC-B&(A[X$:D.H5,#B(!U /7ITZ>G ^#3PDXD9$%%#=WR@@V
M!NBS2;FW4MP@@T1=*.@0*X+!$>K=QE3%[E55# 0>@"'0!X'67'@8P$]DU)&2
MW2\IDB0WNG1CEM[,CMV#5RX,7Y#M'X+%J^.LNB0J1BJKJ(@F'H0#")A#;*^
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
M($DTAKS$LSSPQJ:3IPR5<D*(IAB]@&[.1T]QW/CRV\V]:8IL&,G>9*AEG=3
M4@_@8K-<UDMY9K%B'5^(NF'L=Y.)13XI:R$<(&B)LD-*JQWP%#*@LF8.KZ=/
MM_\ <:7QK@G*=%W<P3KM7(*?S&^W>B-A\J8OS'+7U\U>5]KAMY6,YXH@;9;Z
MHNHX55!L,61I&G2*LDL<H$.H&*;5E3?[4CQB^1#-UCW%V>R!L5J[LH_P;8'%
MSJ^,[E%O,11N=*4RA[OK_&OL8PRZ%]L^!<G, 5F))23BT9EHY4*S 4RJ%#$^
MGWDW>X%URI3V+WKO6V.7K=N_4LVYAU]E(7)NP.=L4:*7SW8*XXBKZ]DQQ5IZ
MY7_&(R3.R6)Y#,D@040>E8(_$(4RH2?V"V \H.2?)GF[(^D=$S1=<3:B1^"<
M"4_#$G,4RF:_9EO67X&.RKEZSYN@\@251O,%"-*99X9K#VJ!1DWL#)PQRJ,U
MT7*K<0DW@O=/8S7V_P"7LL;18+WC<ZF[(%B,UXR;RN$;!E;(&DUWBU)JAYRP
M%E>NXW&:M[7%JDS4V5BI,I'Q+QFO'2JPG,GU*7@7=8DRI3<X8TI>7,>.I=[2
M,@0;:Q5EW/UBR4R8<13L3E05D*M<(J#LT(N84Q'V7C1!8 Z#V]! 1#(O <!P
M' HO\HCI6/\ (EX(7Q!)[9MPL]Q*I5#=J9@F=9K2T*/H4QA5((=2?9W= $0
M>!9SN+M1CK276;,.U&6&T\]H&&:JK:)Z.JS LE8),#O6D7'1<2U45;M@=2,K
M(((@JNHDW0*<5%3E(4P@%$WDLWRRO?M;\=8D=T38?1':[,N>-<WVE5UJ]UK-
M^PAFNVOLG5!W!U>S9SQL_=4F*K3^LR2KV>@[($81=HD M32 %$HAZ:&GO_%0
M!T8IW()@5R=,HD3.X((E6.DF8QS)HF4*(D*(B)2] 'U#@;C@. X#@. X#@.
MX#@. X#@.!MWBH(-'*YNO:D@JH;IUZ@4I1$QOP@8WX0]1Z (] ].!&K4G)I,
MN8G7N:23QNW5O>0H9HV>T^)I!VS&OW*<B62",/!6*U1#QH1LV+[4BB]/^9$$
M%SI-U3*()A)W@. X#@. X#@. X#@. X#@. X#@.!3?IPV%+R]>9MPHHEW.(?
MQR 1N'HJ5,F!\D%*X,00+^!3VNT#=1ZCZ<"Y#H'7KT]?IU^WI]W7@. X#@.
MX#@.!CRDXKHV.YK(]AJ,-^52V6KN?(M^=B\>NS3EO4J]6IAI,P/%UP:$"NTN
M.;E01]M @(=Q2 8YQ,&0^ X#@. Z?^7T_9P*C_'69=7;_P RBKH">\7>'';1
M(R:/ME,P;ZA8!4: 8XB)EEBBY/W#] ].G MPX#@0#S;Y.]$==;Y=<99/SO"L
M<KT%E#25[QK3ZE>\E9%K<5,M4GL-*SU4QO5+3.LHM>+<E<@X62*DFV,!Q,!1
MX&TE_*]XW(*KXYN<]NMKM#US+D(\L>,7DIDB#:.[G$1DLO RCN(AUE2S GBY
MQLJR<I*($7;NT545"$42.4H<;L1C2"W==ZD'Q_EK&#2@X\S3A'=LS,$I=?(M
MR@,;69:6JC^JL6LQ"+Q%5N#EXHT<R;QFJ0>\4R@8QC%X&4L@;>:10K=2P9BS
MEKA M,:9/FZBUE,A7JD-SU7-5';MVEG@(+]2G:.6M^J+*R(IN18 9VV3?]@B
M4%# (9954U\V*:TU0SS&.7D:XK0,Z48B;R!M2\"H^2>O\994A$"J.G44#]$C
ME6'E4RI@N0JHHJ&*!^!MM@,_88U_J49)YDG4VC.[3C>@4^G1T#*7*Z9+M4Z@
ML"%'H>/ZW'R]GNTW(,2*G49L6BXD:D455[$2'.4(?8XWF\<.*L$/;O$2U+UC
MQC0,H/<4.<=W+%<E@ZW5?+<^DRG2TJ,PJ^K,1<?U9=F$TWDF;:.BU5I=LZ(X
M3!0I^[@=B#RG:2LVV27]^R#8L/!APV*%,@)9SQ1DK$LE6X+/%K/2<57!9A>J
MG$/?T-=K.R4:I2Q2_"1,@<S@Z9"&,4)LV#*N,ZM+T" LV0:=!3>5I5:$QC$2
MUCBF,CD&8;1*LZXCZ8S<.B+V-VC"HF=&*T*J)6X=X_A$!X'3Y/9?72$RE&X.
MF,]8<BLSS!4C16)Y')5.99&D17%(&Z3*F.)A.P.7#GWR"DD1N*B@& 2E$.!E
MF8FXBNQ,O/SLFPAX6OQKZ8FY:2=(LH^(B8QH=])24B[7.1%FR8LDC*JJ'$"D
M3*(B(!P(WV#<;2]M#8]D+?LUK@P@,LUU.\XQ=6W*^/(Z*OM72.7VK34U)V:;
MMIN)27'M!TAWIE4 2]P&*( '8<0;9:R;!6FZ4[!6?<29CM&.DHU6]1>,[S7[
MLO54YD[I.+&96KSR0:LRR!V*OM 93J?VS" = Z\"08^O4!]>H@(]?M$/4!']
MH#P,&9VV-U^U?K\#>-A<J4+#E;M-LA,=U^SWR69P,=+W"PG=J057:R#GM!1^
M_%NNH1,1 I2)J',(%*8>!E2-C*W66<DM%L(2 9/'TA8IE9@TCHIJYDGA <RT
M[**M$6J+AZZ*E[CAVMU44 O<<X].!U2BY+P_>JK)Y&QI?L;W"D'?RX3%[H]G
MK4[5E).O'-&3AI.SP;US%'>0QF(HN3*KB= $NTX@!>!U&D;3:S9,6M3?'6PV
M$KXI1I&#B+E^C\HTJQIU:5LS[\KKD;/+Q,T[0BW\]*?Z5FDL8BCES_"3 Q_P
M\#?6.)UY;Y.QU^K(S#J&9)=6S/\ % 3\?3$\CRBT7&@K;WE#%^@%D>*L(=SW
M/U&/<9-NIU4$"CP,-XZW5T<REGAQ@_&.<\.W#/4+%V:-0JE;>,7<\YBJLNW=
MW*(K,XBR+&V)K67I$U)1K&/')6*Y %P0AR^@=SKV:=4<E0.P2]?NF'[= XAM
M=CKFR[9JI7Y-C2KE3(E&3L\?E./<- !M,PT(S366,_2,86R!1*82IAVAW77G
M)F-<T82QCEW#L:[B\79&JD=<J"WD:@YHCP]:GDS/(N0-4WS&.>0Q)1HJ#A(J
MB"9E$52GZ=#AU#,P@ CW" ";T#N$ [N@#W '=]>@&#K^_@.@=>O3U^_[?3]O
MUX&W=,V;Y$[9ZT:O&ZH$!5NZ;HN$%03,4Z8*)+$.FIV'* AU >@AU#@;5*&A
MV[TTFA$Q:$D<HD/((Q[1)\8ABE*8IG::)7 E,4H (=W00#IP.2].HCT !$
M1   1 .O0!Z!Z@'7@/MZ_;]_V_X_7@/KZCP' <!P' HE\K/N!OMX)CH]P*%W
MER>41*HDF/LJZ\6I-<!]TY.\HI#Z@ B(AZ  B(!P+K[W0Z9E"F6C'61:M!W:
MB7:#DJS;JC9HUM+P%CK\NV49R</+QCQ-5L]8O6RIB*$.40$!^\ '@0DRQ&>.
M:*A,+^,S,8X13C+_ %B%B,&ZMW2427DI^MXN3(XK9J?'OG*TVDYJQJ[[D>[*
MY1>"JR4%!4QDE.@6 -VZ;5!%LB42HMTR(I$$1'L33*!2$ZCZB!"@ >OKZ>O
M^W <!P' <!P' <!P' <!P' <#Y."&5073(J9$ZB*J9%B]G<B<Y#%*J7W"F3[
MDQ'J'< AU#U 0X$1--S6-*I92B9]U"@W@LWY!BZQ"0N)'.&0KM8*]1=,F<A6
MG=@L"LY)23]TY?J3Q/B-ID'0+H-TDA*7@3 X#@. X#@. X#@. X#@. X#@.
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
M/)-CC;#]3?W"UJPD8K,S:S%F9)!O'PL2@8BLC+RK]RBU:H@8H*+K% 3% 1$
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
M,W;AS97PN"NE#F.J<P8WR-X8,V0K;+&&:Q:\0Y2TSVXJ%N8YYP'$XRA\ UO
MF6J=2IF:PEL1K92:A.RM72O4SD:.BV-CB!3;1LH0Y'*Y3>V;@2W\5WCC:8DJ
MV"=Q-F(;)3C?Q[K- 8AR"WR#;:I(P6)H]88]S9Z7C>FXTKU3QW4H:6DX=%T9
M)LV=*I H9(7"AN\YPVGDXTCR3DC9C3/;+6:5ON/,R,[>IJ=G_)>*:UCNQ76*
MU"RXC*R<W9$"9+B9Z$B7.,+]'LGJ,DDU5<-6<B]Z$.(I 4(99A\(>P=IS]CI
MKK+E&DZI80TGP-C^FZ891F4[EE?,$AF&:R=(YCS=DJ=3@<@8\1BY*WS\8TA;
M ,PE,,YR)DW0I-"'-_""+=U\3&]$=NDQW5LVGV%\XLKQ5[QER_XMQWG>G0&1
ML,[QSL0VI'\[,197RI5FEAOU*B6M8:VBG52:E4XRJR$LL1!,CIFBHJ&6Z'XX
M=ZXG0>S:I+:68)I.RFR.NZN-LF;\TS97\YRHQL+ERQL1G&R)+I _S'L[RROH
M5NA8QJM@L#)5RX64:HE0 B1 RSC#47;=YJ'M?J ;1>JX.S+M)A2^4._[#X_B
M]3=?L)5:8-B>;@J*SJ3' T_8,@9+B$[NN<K5Y*Q#26:LY)1=TL0Q 2,%D>J.
MSF<JW0]=-=K]H1MY6KQ4*'BG%N0K[+ML0OL20$C6JY%U:SW(<A-,L.%K'66S
MB*5>)JM&2KYVW.3M;@J82%#OOE?UKO>U>B&?<78OL]UKV2&M/>9!QNTH1X=O
M/6C)^,2'ON+:XF^EV3HS)-UD6 BU0,V.V<'.@5,%BIG4 P5'VNL^6(,B^/G<
M:_Z44+83+F"8DT;?\K89R0SPWF2T8:S?B^1A[YB?(NLV2T"1,+:Z5?95A)O#
M1UN=M4G,6L9H1$':B:8=TIB7G003JOSK'F-_LM+VR,<W>&R'5].8KQUT^%):
M44;6QC+-2W+[9BSUAY3"F5A2,4OS\CPY2N#$[5>H>@6$M>1763Y^FS6+5XN@
M15'K,_#9@1M<$[B;1;Y21F65BHK>F%5_5D.XK+./:N_GN2BT=IO@33$%$C]P
M1 S!I7E*U[>H[=83V@D,'625U^9Z\WFKOL45O*D).UN&O$K?:]8((ECG(UM7
M+''RDRX15.=L\27;GZ"4!#U"MJ,\6>3\F:_YITTRG;\E"GK3MVZVVTLV.9I8
MNI\?E"SY!A;!DI&$L-6"FWFDQ,5C_+UTG8UV0:PJBT:J,W;)N*R10*%@_C8Q
M%O=A3#>1HO=S+,=ERX/KLZE<1UY"Q1UVEJ)0VU<CFB-6LN48S&^*&UTDYFSM
MW3TJP0#8&+=P1#O5[1$H8SPE&["U7R!T[).4,'.JC([<:0,T=AG-"FI6Y8MP
M]FS7;(BHT& ?V]=)G'R$E=<?Y9>M$%0;D774@3 4QT2 (!/FA8ORW#7G,DMD
MW/3O+F-\AO$!HF+I'&E.J;+$T(/S4)*NLK-7A+,W5E*1[A))164 RX'2$X&#
MW!* 0HTRU7S=C;0Z<TU<W2Z:U36+LEYFQUB',N/#T:T6]YA%3+=@N&,KY66M
MPC+K6HF1EJ+8DXQ1M),EUH]9LIVI@)4S\"8FL> K9KY5K)7KCLMGC9Z4L5H/
M9"W#/LE2I"?@4#1<=&!7*^C0Z91X..KQ#QXN01*T$WR5U3]WXN@!21F_QD[+
M)^2&SYST@>Y1UA99.R7BC-^;L^O]@:NOA*S2D0@R99.JS#56%J3Z\Y)F\BUN
MN)13_P#/IR)@V#AT+YJ0QR]#!*#QVU;8;67%&]=7C==;/8"L?)_LI+8"Q>M,
M5_'#1_@3*>1JS8&%VK5AML@6(/18Q"RR<ND4@>\X305;MTSK"4.!AC'6-,3Z
MR2?DOAMG\?7.DX2J^X<OFS57*5=Q%<,DR&.B;7X9AF-NN.N<E7:C?)ZL7>NY
M-7L1G;N*: 2#=.B=XIIK 7@<[X9L?9DP5:,U8%IR>8,BZ#0$>UR1B;9?9_&;
MO%&QV4,_9.M4U.99BIQO+L:Q:,KU1BQ4;N"VR9@8V0.[,#,%':2)%>!?IP'
MK2\C?CP=;[0^,2P>>+3@.TXR;9CKZ,_7J74[VVG:1GW&,AB3)E>D(6U@1!!V
M\J,FN#!ZBJ51HY-[@D4  * =MP5X\,98(VXR1N/$W.\VC(^1M<<(ZSN(ZRJ1
M2D/"TO"S%NU0E&"C1BB_6G+>YCVCB0%146Y5D!%%,GN'$0A/Y?%EOZK?!VV0
M;%,*ODMBEE'_ .'W6B;;$-Z,JU(!TS@))!!4P'Z&*( F'3K]@7LC]?V?9P-.
M X#@. X#@. X#@. X#@. X#@.!\EO^V<3&$I 34[Q*/:< [#>I3A_D$H^O7[
M.!5'H<-R;[?^1]FV:X^'!;J^X.GL3252K=&I\JHZE,;OD;?'RD93V OK0U;2
M; JI;'*O3N9)RJLFFW1^.L)PMAX#@. X#@. X#@. X#@. X#@. X#@4^:=F4
M6\MOF86)[P()QOCD9"(J%% 5V^ <AK+$*F!A.1;L=ICU$  2_MZ\"X/@. X#
M@. X#@. X#@. X#@.!T"F92Q_D*9O]>IEN@+).8LM):1D>)AI5G)/J3<#0T3
M8RUFRH-%5#Q,T> G63P$%0*<6SE,_3H8.!W_ (#@. X#@. X#@. X#IU_P"7
M <!P' =/_/Z_MX&G:7[@]/IZ!]W3_EP-?_C_ (>H?X#P-.T.@AT#H(]1#H'0
M1'ZB/WB/         !]  .@!^X/LX&O <#3H'UZ!U^_I]_U_QX&O ?\ QX#@
M.@!] Z<!P'0.O7IZ_?\ ;P'_ +@#_@'T#]P=> Z]/I^W_P _4?\ $>!KU$?J
M(CP-. X$6-BM6T]BI.EO'.P&S6&6-."8.K$:]Y;=XK:6UW)I-DV3RW+QL4\D
MI16O*-?<9)E710ZJJ LFL4>W@=(P5H=CG!62/YPM\M[2Y1R8YKS>N3EAS-L?
MDN_Q-C;-8].-0>RF/G<JRQHE)H()]4UFL.W.B<1$@AU'J%>OF4<.&6S7@Z>)
M*G23'RDT2.4.5=)$G65QQ=&8H*$.@J=8SEN90I0*)>GJ'U, E"^D?J/[_P#Q
M]_ TX#@. X#@. X#@. X#@. X#@. X'S5,D1)0RQB$1*F<RQU3%(D5("B*AE
M#&$"E3 G7J(^@!]>!7IKO%1A-W]T+)"1-9496"OZ_,5[/$VF7E9/VJS5;)'1
M]?DJU)728:UOXI3J'(#2"@D%>@G%5^<XJ)A1AF/??>R3W^U[3SCE>_>)W#\]
MDW(&OMHQ;:,7(97IN0*?76$WE"@9Q;YQN%;?Z]I.LD/*NG55313H)6);R0E$
M5#%[TP]8M=GX.U0,-9:S.15FKT]%L9>$L4&^:R<+.Q<@V3<L9:)DF*KAB^CW
M[=0JB2B*ATS$, E$0Z<#F> X#@. X#@. X#@/_A_CZ!_B/ CXVVOUL=["O\
M4YOFW':FR<956]V?87"Q-"WUO6'2*;IO*&ACF*H<JS)4K@J11%<6H^]V>T G
MX$@^ X#@.!3/I2JNZ\N/FI>+-O:(B'CKB&Z@&$Y%DF>O^0ECJ /3H53O6#N+
M]0]/V<"YC@. X#@. X#@. X#@. X#@.!45XT"E_J2\QBIU4 =J>1<B:S-N8I
M@0;(ZIZX%8N%C"4%07?(CWG*(B4HA^'[>H6Z\!P' <!P' <!P' <!P' <!P'
M <!P' <!P' <!P' <!P' <!P' <!P' <!P*&/,7[9MK?!FFXZ*-1\FL J+8>
MPPG>HXNM_P"7N"I>T9<P,UCB<3%.4I!$!. AT$H7SCP' <!P' <!P' <!P'
M<!P' <!P' ZW<85I9:E9ZW(0[.PQ]A@):#D8&1.5..F8Z68K1\A%/U#D5*5H
M_9N#I*?A-^$P^@\"HG1[#U!PQY"]RJ5C.O0E6AJQKKJ)%6.*)+7N>M*DE))9
M*DZ\,M89Z.2@+1'Q<>B\;I2 OY2:'N*@Y.DBB@4P=B\CL)L) 9(Q)FE/=^NZ
MC:/T>HW*+S\XD:OB68D8O*$H8J>'KT5#*N/KVSO,+)S;I.NN*XT/&O%%GZ3A
M%502F( 98\3$'7Z1H?@_%=?SYAK9-#$D1*T-3*>#Y'Y52FFS*>E).$_,(E20
MD7-3M)8&4;#(Q)SE(Q<"*:)2H@F !9!P' <!P' <!P' <#%><*7=LBXAR)2<
M:Y)EL.Y#L=6DV%'RC",(Z5D*-:_:]^!L 14NU>1TJR9R:*?RFJJ8@Y:BHF!B
M"8#E#R_YKP]F.-W%UD\@.^% PYJFAJEF#'1MG]K\%[ W'*&)L]*145<\8X8C
MU]?(^E%L6(FC8,IG+-V.UKM$(.,<+("JY;G2.D'K134(L0BR9BG35(50AR&
MY#D4 #D,0Y?PG*8H@("'H(<#]\!P' I+\?9%1\IGF_>G,4Y5\HZ4QQ?;3<$
MH1^N<RJ03?(*4#&['O:)B?@$Q?01Z<"[3@. X#@. X#@. X#@. X#@.!4-XR
MB*CL9YCW)DSII*^2-=%(%"&*)Q::I:U)J*D$0Z'2.)@[1 1^G MYX#@. X#@
M. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@4)>8QR1#;3
MP7I',NF#CR9PW15!8R %,&*[8DF@J<@@8R;DZH%%/_*H7J4?01 0ON'ZC^_@
M:<!P' <!P' <!P' <!P' <!P' <#4/J'3Z]>!5-A)V4?+AN.5"O2+5"1U$UB
M25L1BH*Q3]_5<H9\CE(],_Y6VD(Z1(TF$7)TEEU".45B+(E%+HHH&4O)O5:E
M):KRV3;AF>MX!9:QWJA[31>3KO5B7BBQ%@PC,_J>(C[K3?S")>V6O3ZW5D=L
MR<HR/OKI*-#"Y(D A71XFMT\-Y=SQFA["2L1D?)FW+ZM9-FK5JIK1L/5]0J.
MAC+'[*KL8VU9<RM3JX@;,5R8MSR$@1<A2")F[4BRRB8**AZ'> X#@. X#@.
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
M8(I=F+_3X*<R9C2P6-/!&.\7U^NU-,J]@;0YG#!@V;J&= #E0AP]'W <!P'
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
MA:?%P>(=99SW)I ?_MAT,J) Z\#K=MVR\T\7"SKF%\26!7CJ/@)"1:N?]Q:
MDA7?-F3E=-BC76VOS%[(N#J)% B)7B/O&'VP4+U[P"FS4O:C:>.-JKDS"&T5
MZWKW;V0MZ2N;-7LIY\K\%B%>@+XTEK9FL7V(FM6D;1HLAJ;D%NWKK%])QHN+
M,Z*)?9=IO&_LA;XELCYV ;SKE+QM:;SG=+NDZVG&;UNFA$X9J^<D3_,E76*'
M*<@_D6 HF35(=F"0@<3H (@GP. 9YP_N')25DFQM$O'E5XY!(JD=(3>U.0I<
MKM1-%-15N"<#5Q<C\DXF235400!,P 8Q3%X'=&F=_.Q(1(JK^/W2.OS(1YR%
M2=[G6N8;*2B:Z*7O'0C\5,BH1SA'W%2$!RJL7J4AC=0$1#8RN9?/1)-4RPNC
M6AT"LZ&(,9*Q;6WZQMXHI4SFEQ=K0]+@5)-P5V4AFR:)$B%( E,J81[BAQG\
MT_[@5=Y'+AJ!XV! %%2*/5]A,NB[CD1.8BQP0)6U0]YVW[1]I-4P%'T.<?J
M;IUE?^X&7$2,=2?'+&$4;2)$W+S/N69E1%\0A@BEW3%O&0921ZJW;[Q4G2JP
M)B)@_$4"'#KT;>?[B$ST\I(:N^*HD@L@BR1<DS7L"B\;1_JNHS=N"PLD*B8N
MQ$_:D(D(;T #_P#<$.AYSV>\ZV#*1)94R33?#_A_'L;)UBN+O\D95V;>$5G[
MI:(2H5ELC*5]@@W(K*V*<1:MTC$*=8RI1-[8 ;M#(S2T?W&[A)P9WC3Q0QKP
MCA-)JW3G=C746NV JYEG;E^-D4DFRW>5,A4BME0$#"(F*(>H$'_]QTK(MUEX
M/Q+M& D:K/F8.-E7!4CE55^0RC7!9,'+H%D!((K+@AV*=0*0Q0[C!K,C_<;G
M9RKN+6\4+:0(DQ-#0S.-V-<LG(J$<?F!'\M*6!NX8/&AB)@F!$72*_?U$R0%
MZ"'5C_\ _2LHU8/3G\5R#UM(PQGD$Q1SBHA)Q)':2DZ5Q.OW(G:R"[<ADVY$
M6H)D*H)Q5$Q"D.%:GD;K>)UM]<K67R%8MFLC69RG&P&F#&OX\V;N5XE\:RF%
M&+;&U2T4M&&U8V@578V+V\4DY"V+6L?S!")!LY1[4"I" >J;5%IF%CK!KNQV
M&/[F>&>%,8MLQJ"Z1?*FR:WIT.G=!7?MA%N]=A82+^ZLG^!57N,7H @' S%
M5BMU2';5ZKP,/6X%D+LS.$@8YK$1+07[QS(/A;1[!)NU0%V_>++J=I0[UE3G
M'J8PB(<N@V;M2B1LBD@0?J5$A4RB/41ZB4@  B(B(B/U$1X'VX#@. X#@. X
M#@. X#@. X#@<;* DM&OTSD]Y,[%\0Y2IBOU &JO>3VB)KG4,8H].T"&,/7I
MVC].!1/I(W86#RP;5721Q]4FCYQJ_BU6D6X,?9*J5_J]?D;S9%+!C]:>FZA!
MTRPTN4>_&?I,P=J2\._:J(.&R"H+D(%]0%]/0/0/N#T#[_\ GP/@"[;WOB@N
MA\D4S*_'!1/WQ2(<I#J^SW>X*15#@43=.@&'I]>!]^!IT#[@^W[ ^WZ_X\#7
MI_Y>O T[2]0'M+U#Z#T#J'[A^S@:] 'ZAUX#@.G7Z\#3H =?0/KU'T#Z_7J/
M[>!H':8 $.A@'H8!]!^OT$/WAP-/;3Z]W83N^O7M+U]?V].O _70/N#@.T/K
MT#K^X.!KZ!Z_^?\ X_=P'VB'V].@A]O0?O\ V#P.+FH.&LD1*U^P1,;.04['
M/(B;AI=BUDHN7BI!N=J_C9-@\26:OF+ULJ9-5)4AB*$,(& 0'@5=87\)?C*U
MTSS2]D<)ZQUK'N4J'(762K;V,FK*^K[:2O7:#Y[^E9R6E($CR#( DA5$D$CQ
M"9A(U%,H].!:N4"_9T'M_ /TZAV>G:/3[0^[@0YU9W0HFV%]VYHE(JEO@CZ@
M[#S6MMPFK,C'-XZVW.NPL9+3DA5$F;MRZ-!,59,&Y5')4E%3%[P+VB' F/T
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
M90>SKK.-'Q7?;L:#A+)=FE#Q]6IV(6!5Y7ROP:Q@+JED4C"'!ZB9\\K,5-Y
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
MU'[Q^_\ X\#7@. X#Z^@_3KUZ?9U#U >GTZ@(<!P' <!P' <!U^S[. X#@.
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
M#_@/ =!^X?\  > Z#]P_X#P'0?N'_ > Z#]P_P" \!T'[A_P'@:<!P->@C]
M'@.@_</^' TX#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@.
M X#@. X#@. X#@. X#@. X#@. X#@. X#@. X#@;!_[?M?Q/=Z=!_P"W\GK]
MG_YM^+KP.I'^/W&Z_/Z=3=?_ ,*=>G4?_3^/K^[UX&Q7_+>W_P#K/7[/;_5?
MWA]>GI_CP.G+_D?<I[OZKZ]3_P#;_F)TZ=QO_P T_!UZ]?IZ_P##IP,<N?T?
M^>*]WZ]][W2=?;_GG[77VB].OM?Z#IT^[TZ_7UX'"K_HGWE>_P#F1W>X?_L?
MU ^UU[A_S>S_  NO7Z_9T_9P.N/?T%[Y._\ FG[GXNGQ?ZE/;^@?Y/8_TW3[
M^O[>!TJS_P M?P?(_G1U^$Y__!_]6?3IWI?_ -K]/D=W^7[>G7[.!UYI^C?8
M8_EO]1_M_,<>U\?^?/7O[4N[W/U;_J^S_P!/O?P^O7IP,5Y!^/\ F$5\?^MC
MO]A]V?IC\TZ=/D(=WN_F?\#KUZ=/<_%V_3T[N!CJ0_4_:?X/^X][?3T^'_*+
MV_J'3I^HO]5]_P!?_=P-RW_G!U3_ "W_ '1N_M)V>Q_0O_D[2].W]5?P/_3T
M]S^)]_\ U\#8V#^I7O;=O^[UV_Q^W\L_VENW_N!U]SW?XO3K_E[OV_9P/B__
M *E_@(__ .W3K[S7_M_[27R>GI_FZ?A[?_7]O W$9_4Y[27M?[O'_5W^]_M"
M]OU4Z>]\W]OT]O[?KP._#_4U\8G=_NL]>Y/KW?[1?N_]@/K[?\/I]_3_ *N!
ME-I_4?\ ES/O_P!R3W/:)_W?]J7Y/^7U]WX_^E[OO_;]/MX'6%_ZG?>/[/\
MN>=GO#U]G_:#]G_,/7K\[_4>W]_3[/IP.Y1W]2OPR]?]QSKT_'[G^TO[O7O-
MT[^S\/7_ /=^GW\#-%3_ )]^Z7\R_K9]KV!__6+_ &U_C]_<ATZ_I/\ UOO=
MO7_[#IW=?7MX&3P_F?V*=?ZC>[T[^O\ 2!W]>H]._M_A?3_T>GW^O [;#_KK
MV2?)_G'W?BZ_/_IT]SNZAT[_ ,I_A^Y_]K^'[^!VMG^J.XWO?S%Z=ANGS/Y0
M=O=Z].WX'X^_[NOX?OX&&,@?S3_+Y#]-_P!3/R?84]K]!?T<?F/?[H]?A_S8
M_P#I/N]O_P"6_A]/I^+IP*B,K_U(_G;[YW^\7T]M7I^GO]J'X7;Z]?C?IW\7
M;]/\WX^GT^W@1@'^?7Y@KU_WS_=[0_S_ .VS\;L_!TZ=G^C[/_XG3@=Z9?U#
M^RC[/^]SV?AZ=?\ :YZ?YO\ ^?\ XW3[^O\ [N!MX;^H;N_A_P"]O_WC?_-?
M[7G=W>XGUZ_)]/8Z_3I^'I^SKP,K1?\ 4Q^/VO\ >5^I>ON?[2'9_P!?_<^9
M_P"73@=KL_\ 5+^4-O?_ -Y+V_>2Z?E_^SA[_P#V![>_\M_U7M=/_5]O^;UZ
M<#)N)?ZH_P J1]C_ '9O;[W/_P"M/^SI[W;\M/KW_F/^J]OKU[?^KM^GITX$
M[X#^>'8G^8_UB].T>_\ /?\ ;R[?\A/^]^E_Q?7K_P!O[>OV=.!S;S^<'N)_
M#_JK[.I^_P#*OZ%^SKT+T]W\\_C_ +O;]/KUX&$\G?U'^\W_ "/_ '!/8[$>
M_P#0?^U+\?OZ+>Y[_P#,7_ZA[OT[_;_A]>WL_P"K@=$HG]4'YO\ _4/]S/XO
MS#=_ZL_V??ROIU+TZ_IG_P"L?'^[L_%P)^8P_67Y>O\ J?\ FU\GN2]O^8_\
KAOS#V^X>[V/Y0_\ TKVO_5[G\3_T_9P,O_B_^^?7_P"]?3I_R_\ /@?_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>16
<FILENAME>image03.jpg
<TEXT>
begin 644 image03.jpg
M_]C_X  02D9)1@ ! 0$ W #<  #_VP!#  $! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_
MVP!# 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_P  1" #) NP# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MG$%*:IXO"8"5++Y/E]W,<;.&"P,[34HR5/$XBG5E%QDG"$KJQ\U?\1)G[89
M(^''P@]\V.L=?_ VC_B),_;$_P"B<?!__P  =9_^3:_G9H_SC_/%?Z._\0(\
M(^O ^5=/^7N8+M?;'?E_P_\ GC_Q'KQ;_P"BSQG_ (09-_\ .T_MI_X)4_\
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
MF+S3S%Y#L0I%%\B?Y_SQ_GTK^_?#CZ+7#F5X3#YAQXWGN;U(*I+*Z->K1RG
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
MU?R=IR<9QA*E4P=/&0IN\9KGQ,H-.+U31^0"_MO_ +:VX%?VOOVHL#GGX_\
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
MBV_C30+[0I?$&CVVOZ0M["\7VW2+S=]EO8MZKNBGVL4/)(!) KK?V=OAS?\
MQ:^.'PN^'NGZ9=ZM+XG\:^']-GLK$%KB6SFU*W%XRXR0JV_F,[= H)R.M?T@
M_P#!Q9^S7IG@#P;^S3\1?">BQV6@Z%:0_"F^NHM@9$T[1FGT2&8 !W9XM/NB
MTI 'F$Y^:0"OZKXC\0L/D/'_  5P5*%*4N*:.:U*U:4TJF&EAJ+_ +/C"*DG
M?%XF%6E[T;/DM3;=[?S#PQX<SS_PZXWXU<J\)\-5,%'!4X)^RQ$5*-3-)5%[
M-\T</AJM*<90FN1JHZBM:W\K,4SV\T$\;;9(9XID;&=KQ.)%..IPR@X&,U_I
M4_\ !,KX]V/[0W[&WP>\8Q7_ -NU?3/#=EX8\1D\21:SH4*6-RC\DDL8@^3U
M##KUK_-3K^O?_@VL_:.AU+0/BU^S+JD]O'?: 8?B'X9C=V^U7VG7]R;'7 B$
M[3'IUTVGA]N2/MT6?O9/Y5]*OA:6<< X?/J%-SQ'#&8PKU7%*\<OS#V>$Q#>
MEW&%?ZK.5M4KR?NQDU^E_17XGAE?&>8\/5ZJA2XCR^^'C)^[/,,L<Z]*G%;<
M]3"U,9*[W5)15VT?U8T445_F^?Z#A1110!_$3_P<F@_\-8?#8_\ 5,4Q@X((
MO(OQ/I]*_G,'0?05_1E_P<F'_C++X;=3CX8QD_\ @9'T_2OYSAT&.G:O]7_
M73PHX,_[%4_QQV*9_EWX_?\ )V>+?^PC ?\ JHR__AQ" <=>.F./\XK]E/\
M@BO^V;<?LK?M.:=H.N:M/%\.?BO+9^%O$NG/(%LH[V>81Z1K#I@#S[*XEV"7
M)*Q2,IPC&OQLJU8W=Q8WMK>VLLD%S:SQSPS0NT<L;QL&#1NI#(XQE6'*GD<@
M5]UQEPQ@>,>&LWX=S"*=#,\)4HJ;@INC724L/7@FFU.C6C3J0E&THN-UU3^&
MX(XJQ?!G%&3\1X3F<LNQ49U:2;2KX6I^[Q5!V:356C*<;.ZYK.UTC_68MYXK
MJ""YMY%E@N88YX)4(9)(9D62.16&05=&5E()!!!%35^./_!%[]M27]JO]F33
M- \5ZI%>?$?X616WAS6-Q1;F[T>VA2WTB\D3<7D=8(A#-,0WF.I9F+9K]CJ_
MR XBR+'\,9YFF09G3=+&Y5C*N$K1::4G3E[E6%]X5:;C5@^L)IG^M.29O@L_
MRG+LZRZHJN"S/"4,9AYJU_9UH*:C*S=IPNXSC>\9)IZH*H:J"VEZDH_BL+Q?
MSMY!5^J>H#-A?#UL[D?G"]>-'XEZK\SU#_*3^(-M)8_$#QS9R<2VGC'Q-;2#
MJ \.M7T;8QP<$$9Q@X'&*X\]#VX/.*],^,\)M_C%\5[>1<-;_$GQQ ZCLT7B
M74T(QQC!'3C'3M7F;9YP,=<=OI7^UN4SY\NR^;B^:6!PDI2[R>'I-]=[WWV^
M9_C5G*4<YS6/;,L:M?\ L)J>7Z'][7_!OMG_ (81TS_L;M:Q_P!_37[G5^&/
M_!OO_P F(Z7_ -C=K7_HUJ_<ZO\ )'Q6_P"3E<<?]E-FW_J74/\ 67P^_P"2
M%X/_ .R;R;_U H#))$BC>61@D<:-)([<!412S,3V"J"2?05_GG_\%F?VQ=5_
M:J_:T\4Z;IVIWC?#?X27U_X'\%Z66:.S?^S[E8]8UEX Q1[K4-2AN%$W.;6W
MME7 SN_NF_:\^)#?"+]F/XY?$:*6.&Y\+?#?Q-?V3R2>4/MS:?+;6:J_:5KB
M>,1 <M)M4<FO\O\ \1ZS>>(==U;7+^1Y;W5=1O+^Z=R6=I[N>2XF9F.2Q,LC
MG)YQUQT']!?1'X4P^.SS/^+<51C4>2T*&7Y=*:35+%8]3GB:T$T[588:G"E&
M2::AB*EM6C\"^E7Q36RWAG)^&<-6E2EGV+J8C&QA=.K@<N=*4:4VFK4ZF*J4
MY2CKS^RY6K7,,G S7U1^RK^QU\;OVQ/'=KX'^#WAN34Y3-$-7UNX!CT;0;21
MMIO=3N>-D2<XCC)E<X 0*=P^9=.LIM2U"QTZW4M<7]W;6<*J#EI;F9(4 P">
M6<<X..IXK_1\_P""7O[(7@?]D_\ 9;^'^EZ-I$,?C3QAH&G>)_'&NS1 ZAJ&
MJ:G;I<BW:5E\Q+:TA=(8H00HVEL#-?T=XY>*T_##A[#5,NHTL1GV<U:N'RN%
M>+GA\.J$8RQ&,KP4HN<:*J4U3IWM4JRBIWIJ:/YX\#?"JAXDYWC*F;3J4^'\
MEA1GCXT9RI5\97Q#E]7P=*HE>G%QIU)UZL6JD(<J@XSG&4?S?_9M_P"#=/\
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
M ,$O?VS_ -I6[T;6? GPQUGPUX=N9K2]LO&/C""Y\.Z.T(,5S!>VSW2QW=U
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
MK7[G5^&/_!OO_P F(Z7_ -C=K7_HUJ_<ZO\ )7Q6_P"3E<<_]E-FW_J74/\
M5_P^_P"2%X/_ .R;R;_U H'Y<?\ !9^ZOK3_ ()M?M)RZ?++!.="\.1-) Q2
M00S>,-!CF7<I!VR*WEN.=R,RD$$U_G/<]R2<DDDY)).2<]\GO7^H?^V9\/[G
MXI?LK?'OP%965I?ZAXB^&?B:VTZVO8EF@;4(+"2\LGV-'+B6.XMT>!U0NDRH
MR88 U_F!:QIUSI&K:GI=W&\5SI]_=V<Z.A1EFMIY(95*D#!61&0\=5.0#D#^
MO/H?9CAY\-\5Y4E!8K#YW0Q\G=<\Z&+P-&A#W>6ZC"I@JFKDTW/1+E=_Y*^E
MQEN(CFW">;\TY86KE^,R_DY7R4Z]#$K$<W-S6YJM/$)6Y5I2NY/1+0\(W\&E
M>*O#>IW08VVG:[I5[.$&7,-K?03R*H) W,J$+D@9(R0,D?ZCO[.?C#1/'WP)
M^$WB[PY=17NCZUX#\-W-I-%)%*,#3+>*2-FA>2,212(\<B!B4=2K8((K_+ K
M^A7_ ()*_P#!9&']D;2+/X#?'J/5=8^#$NHO+X?U^QBDU'5O!5S?R W)FCDN
M5:3P_OVNUO:Q33VYRR1E,FOI_I,>&N=<;Y%E6;\/4*F/S+AVIBO:Y91CS5\7
M@<7&FZLL,KWJ8BA4HPE&A&+G5A.?L_?@HS^<^C5XC9+PCFF;9#G^)HY=@\^>
M&K87,L145+#T<=AN:FL/B:DK0I4\13J>Y6G*,(5*?+)_O$X_W)T5\X_"']KC
M]F_X[Z=;ZE\+?B_X*\4Q7 CV6]KK5G%?*\JAEBDLIY8KE)<'!C,>X$$$ @BO
MHN.2.5!)$Z2(WW7C970_1E)!_ U_G+B\'B\!6GAL;A<1@\13?+4H8JC4H5H2
M6ZG3JQC.+\FD?Z!T:]'$4X5L/6I5Z52*E"K1J1JTYQ:NI1G!RC)-----K4?1
M117,:F-XAT#2O%.AZKX<UVTCO]'UNPN=-U*SE&8[BSNXFAGB;TWQNPR.1G(K
MQO\ 9_\ V8O@C^S!X8N_"7P5\":/X.TO4=0N-4U.2RMXSJ.IWMPY9IM1U%D^
MUWK1@[(3<2R&*/$:$* *]]HKIAC<93PM?!4\5B(8/$U*57$86%:I'#UZM#G5
M&I6HJ2IU)TE4G[.4XMPYI<K5V92H4)UJ>(E1I2KT8U(4JTJ<75IPJN#J0IU&
MN>$:CIP<U%I2Y(WO9!1117,:A1110 5\2_\ !0[]HJ7]E_\ 9,^+/Q2T^:"/
MQ#9^'[K2_#2W$;RH^LZK$]I;-M1XSF+S#(K;UVN%;M7VU7\D?_!R-^TY$UQ\
M,OV:_"^O%KJ#SO%OCG3[.XPL49!CTFSU!%F4.\LG[]87B<!(GW%25#?H7A7P
MI/C3CSAW(O9>UPU7&PQ68)Q;@LNP7^U8OVC6T:E*DZ*;WG4C%:R1\7XB<3TN
M#N#,_P _J34*F#P-2.$UBI3QV)MA\'""DTG)XBK!V[)MZ)G\I/B'6]2\3Z[K
M'B+5[F6[U77=3N]4O[ABQ>:\O[J2YG?'/WY9F. 3U[XY_OS_ ."%W[,J? +]
MB;PMXIU;3$LO&GQKN6\?ZX[P>7<KI5ROV?PU:2.T,,K(FDQP7)#;U$US+LEE
MC\MS_$9^R'^SYXE_:=_:#^&OPA\,VYFN/$7B73!JDF"$L] M[J.XUN]D8!MH
M@T^*8I\K;I&52.:_T\/"'AS3_!_A7PYX4TJWBM-,\.:)IFB6%K -L-O:Z99P
MVD,48[(B1!5SS@<\U_57TM>*Z>#RKAW@3 SA#V]7^ULPH4GRNEA,'&5#+J$Z
M<;15*K6JUZT5:W-AH-6Y=?Y@^BKPQB,3B^(N/,QA4J3J)Y5E^(JVE[:M7J?6
M,TKQD[SYX>SPU%RND_:U8OFZ?*'_  4(^ 6F?M*?LB_&3X7:C:Q7,U[X8NM:
MT;S8Q(;?7?#P_M?2KF(>7*R30W=K&T;QH9%;[I!YK_,VU.QGTK4K_3KA3%<:
M?>W%I,N6!CEM9GB89.&!5D/W@&&/F .17^LM+%'/%)#,BRQ3(\4L;J&22.12
MKHZGAE9258'@@D5_G-?\%>OV8)OV8_VV?BMIFF:>]GX&^(&M7'Q!\%L(!#:Q
M6/B9EU'5=-M@H$8ATS7)M2MK6&(!8;);5..0/ ^B/Q='#YAQ%P9B:UECZ"SK
M*J,Y6A+%8=1P^/I4]=*E;#_5JK23_=86I-M<EI>S]*[A26+R7(^+\+A^:KE.
M*GEF8UJ<%[2.!QJ=3"5*LM_8T<9"5*.ON5,8K+WY-?T^_P#! +]I>?XP?LJ7
M/PTUW5+:XUSX2:LVCZ;;37:-J<GAZ=//M9#:R2M.UO 6\D2QQB ,&4'((K][
M*_SQ_P#@BU^T5%\ ?VV_!#:G=/;^'OB''-X)U15B#AI-2=/L3N3(@0+,H4MA
MV^8;5P&-?Z&L;K*B2(=R2(KHP[JX#*?Q!!K\B^D%P;_JAXBYFZ$.3+\_7]N8
M-*G[.%-XJ<EBZ"U:DZ>*C4DVN72I'W8['ZWX&\8/C'P]RG%5Y)YAE:>39@N=
M3FZV!C"%*M))1</K&'=*JHM:<S2E)*X^BBBOP\_7S@_BCXQL_A]\./'/C?4'
M$=GX5\*ZYKL[E@@":=I\]S]X\ YC&#ZU_EJ_%OQOJ7Q+^*/Q"^(&L3/<:CXR
M\8>(?$=W)([R$RZKJES>L SDG8OFA44?*B@(H"@"O]!G_@LQX^U'X??\$_?C
M;J&DZK-I.H:MIEGH$4MO*T,MQ#JMY#;7=HLBLK+]HM7EC."20V,'.#_G2$]3
MZ#)SV_&O[P^B!D4:>5<5\2347/%X_!Y/1T?-"G@Z,L77UM9*K4QF']?9:VZ_
MQ)]+?.YRQ/"7#M-R4*=''9QB(I^[*=6=+!X1VM\4%3Q:3NK*IL^;3^EK_@W(
M_9IM?'OQB^(/[0&MVD<^G?"ZVM]#T*299"1K^L0)-<>0?),.8;/R&D_?K*!*
M&\O&"?[3J_#K_@W_ /A9HO@+]A#1?%-E;RQZQ\3O%.K>*-=GD:3;/)#LTW3_
M "HG51"L6G6UO$X3*R.AE)W,<_N+7\V>.G$4^)/$_BG$>TG/#9?CI91@XST4
M*.6Q6&J<L;M*-3$PKU4U;FY^9QBVTOZ.\',@APYX;\*X%0C&M7RVCF6+<5K+
M$YBOK<^9V3<H1JPI7=[*FDG9(****_(C]-"BBB@ J*:"&YB>"XABN(9!AX9H
MTEB< @@/'(&1@" <$'D U+11<"*&"&W01P0Q01J,+'#&D:*!T 5 J@>P%2T4
M4 %%%% !7D7Q_P#^2&_%[M_Q;CQESZ?\2&^KUVO(OC^<? WXO'T^''C+_P!,
M-]77@/\ ?L%_V%X;_P!/0,J_\"M_UZJ?^D,_RP=2XU&_SSB]NN3W_?R<_CUZ
MU_2C_P &ST+']H[XZW65V?\ "KM-BV\[MPUU6STQCY_4=#7\UVHG.HWQ//\
MIMR3[_OWS7])O_!M S']I7XZ@9\O_A56ED ?=W_V[ACQQG 7Z?B:_P!3/'KF
M_P"(/<76:_Y%F!3\U_:>7-]%VTLE]VA_F1X#\O\ Q&3AKFC)OZWG/(U]F7]E
M9B[RUU7*FNNK1_:=1117^5!_IX%%%% !1110 5@^*O\ D6/$?_8!UC_TWW%;
MU8/BK_D6/$?_ & =8_\ 3?<5=/\ B4_\<?\ TI">S]'^1_EE_'4?\7G^*+8Q
M_P 5SXD]>O\ :MR/Z?SKRFO5?CKD?&CXHJ1_S//B7GM_R%+G_P#5^%>55_M3
MDG_(FRC_ +%>6_\ J#AS_';BF_\ K-Q#_P!CS-K==/K^(M_7S/KK]@?_ )/.
M_9K(_P"BL>%_7M=GUK_3NK_,2_8'_P"3SOV:_P#LK'A<\_\ 7V1_G-?Z=M?P
M=],&_P#KAPIU_P",:J_^K;&?U^!_</T2_P#DA^(O^RKJ_P#JHRD****_D0_J
MD**** /X>_\ @Y)(/[87PU&#D?".(D^O_$ZO<=\\8/;O7\[?/^?_ -7^?6OZ
M)/\ @Y)3'[8?PUD')?X1Q*P)[)K=[C]'/'![\]OYVZ_UG\"_^32\#]O[([6U
M^MXJ_P".E_(_RW\>[_\ $6^,?^PO 6_\-&7_ *W/T9_X))QR2?\ !1+]F HC
M.(_&U_))M4L$0>&=<7>V < ,RKD]V [U_I'U_EC_ +.GQY\8_LS?&#P?\:_
M<.G3^)_!=Y->:;;ZM"T^GSM/;R6TB7$2,CLGERMC:P(;!YQ@_LE)_P '&G[;
MI=C'X=^%*1DDJC:'?N5'8%_MR;O<[1GT%?C/T@?!SCCQ%XLRO-N&\+E]; X3
M(J6 JSQ.8T<+46(ACL;7E'V55)N/LZ]-J<6XN[B[-,_8/ /Q<X$X"X.QV4<1
MYGBL+F&(S_%8]4J66X[%P]A5P> P\)*KAJ-6%[X:5XRDII]+69_=-17\*Q_X
M.,OVX#_S+_PH'TT&_P#?UOS7D'C7_@O-_P % ?%UEJ=A9^-?#?A:+4HKF OH
M>@11SVD5RKHPM)KF:9HI(5<&WE.YHW16(?I7X?A_HK>*E6HHUJ6186#:3J5<
MWA4C%.UWRT*-6;MY1UMIJ?M-?Z3'A52IRG3S+-,3-)M4J638Z$Y-*Z498BG0
MIKF>B<JD4GJVEJ?W!_M&_M/_  =_9<^'NM_$3XL^+])\/Z=I5I-+;65Q=Q?V
MCJEXL3O;V%C9*S7$T]PZA%"1G&=QX%?YT/[=G[5FK_ME_M'>,OC9J.FKI%IJ
MC1Z7H6EQR2R):Z)ITURM@\FYBJW<\$JM=&(*C. !E56O&_BY^T!\:/CQJPUO
MXO\ Q'\4>/-05LQMKFI2S6T!''^CV49CLH2!GYXX%?D_-R:\@VD\]!ZFOZL\
M%_ K">&$\1G.8X^&;<28S#O"NM0IRI8+ 8:<HRJT,*IOVE:5:4(.I7JQ@^6$
M80IP7.Y_RWXR^.E;Q'H4<BRC U<KX<H8B&)J+%RIRQV8XBES*C.M&DYT\/2I
M<S=.C3JU)2D^>I/2,(M_2OU>_P""*WP3\0_&;_@H+\&I=)TZ2\T/X87=Y\3/
M&-\$W6VE:+H=M);6DD[," ]]K5]INGVRCYFFN-WW(Y"/RHM[>>YN8+6VB::Y
MN9XK>WAC&^26>9UCBB15R6DDD9551R20!UK^];_@AU^P5>_LG_ :Z^)OC[23
MI_Q7^--IIVIWUO=1*M_H?A+8M[HNC3C >"=_-6[OK8_<N<*V3$,>C](#CK"\
M&^'^;X?VL/[5XDP>*R/+,,VN>:QE/V&.Q7*FI>SPF#JSGS6Y?;3H0>DV>;X
M<#8KB[CS+<P<)QRGA?%87.<?B.5\CQ&&J^VR["1EM[2OBJ4)RCNJ%*J]'RW_
M '+HHHK_ "Q/]-0K@/BKXUM/AQ\-?'?CV^Q]E\(^%-<U^4%@NX:;I\]RJ!CP
M"[HJ+[D"N_K\=O\ @N#^T/?_  &_8@\7VFAW!MM>^)M]:^![65"OF1V.H'_B
M8NJMV,15689*J20#7O<+9)B.).(\DR'#0YZV;9G@\#%-M*U>O"$Y2DDW&,:;
ME*32=DF[,\G/LVP^19)FV=8N7)ALKR_%X^M*UVJ>&H3JNR;2;?+9*ZNW8_A
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
M!XC^$'Q'\1>#[R-T,D%EJ$[:?=1"17DMY["5WM6CFVA9"(A)C!1U/-?UQ?\
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
M/[6_^"H?PAT'XQ_L4_&O1=7T*/7+W0_"]YXE\/KY FN;/6-*3SX+JT^5V25
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
MP+2>9U/;9ID6*ED^*K._/B*5*C2JX2O5NW>K*A45.K+13G2E-*\FE:H)QR>
M.23VHKYM_:\^/F@?LR?LX_%KXT^()%$/@OP=K.H:=:>:L,NJ:W]CF31]*MW;
MA;B_OV@MXV/",^]L*"1^#8+!XG,,9A<!@Z4Z^+QN)H83#4::O.KB,14C2HTX
M+K*=2<8KS9^UXC$4<)AZ^*Q-2-'#X:E4KUZLVHPI4:4'4J5)R>BC"$7)M[)'
M\9'_  7[_:7;XR?M;1_#?2KZ1_#7P9TI_#_V9;B*>SFUS4'M[S4KR,0[D#;(
M[>V;>Q=7A="%P=WR7_P2;_9D'[4'[:/PO\-:K87=WX.\):G!XZ\3W$,$4UJD
M/AFZM;^PLKX2$J(-0O8XHI%92'A695Y!*_ ?C[QKK?Q'\:^*/'GB2[EO]<\6
M:YJ6NZG=2NTCR76HW4EP^'?+;4WA$!^ZJ@8[5_47_P &\$OP#^&'A#XI_%SX
MC_$GP#X3\9:OJZ>&=+L?$>OZ;I.IQ:3:KYLDZ0WL\4C0W$C';)&-I" 'D&O]
M,>+J5;PE\"GE&44JM3,:&3T<EI3PE*K.H\RS7FCC\:O9WG>,ZV)K4YR5HN,/
M0_SOX0JT/%KQZJ9SF,HK+*>.KYS"CB9PY'EV2^PHY9AG&I>+524<)*M2CH^>
MLXVNV_ZZ+:WAM+>"UMHUBM[:&."") %2.&%!'&B@<!410H ["IJ^>O\ AK3]
MF/\ Z+W\*/\ PMM!_P#DRE_X:R_9C_Z+W\)__"XT#_Y-K_-7^RLU?_,MS!O?
M_<\1U_[A]3_0[ZWA?^@G#_\ @ZG_ /)'T)2,H92K ,K JP(R"",$$>A'!KY[
M/[6G[,0Z_'SX3_\ A;Z#_P#)M'_#6?[,?_1>_A1Z_P#([Z#_ /)OZ4?V5FN_
M]FYAW_W/$?\ RL/K>%_Z"</_ .#J?_R1_$)_P73_ &<Q\$?VSM?\2Z-X?_L?
MPE\4[&'Q38W%O!Y6G7.K-E-52$A507)E GG5"W,FYB"W/QO_ ,$Y_P!H2^_9
MF_;!^#7Q,@OKNUTN/Q+;Z!XEAMS\E]X>\0 Z9?VUQ&"/.BC:>&\1#_R\VL#C
ME17])G_!P!/\!/CI^S5X:^(?@/XO?#SQ'XX^%_B2W:'1-$\2Z-J.HZKHFL2+
M:ZBD$5M<R7#&TW"Z(0,I6(J5R01_&U:7,UC=VU[:NT-U:3I<0R*6!CFC.Z.1
M2""KHV&4@@A@#VK_ $O\'<5_K_X-4\CSNC5=:GE^/X6S"GBJ=6G.5*EAU0PE
M:U:%Y?['5P[A47,HUH7CK#3_ #I\8,,_#_QII\1Y9-1H8C&9;Q3AWAY0<54]
MO;'X?]U)65:OAZ[J1ERN=/$\K]V=S_61TC4[;6=+T[5[-BUIJ=E;7ULQ&"8;
MJ%)HR1DX.UQD9-:%?E9_P1P_::O_ -IW]B+X?Z]XBU*74O&G@:>]^'WBR:=5
M666\T HMA=9#,9DNM)EL9FF(7,[3QD%HV)_5.O\ -CB#)<7PYGF;9#CXJ.,R
MC,,5@,0E=Q=3#594W.#:BW":BIPDTN:$HRMJ?Z&9-FN%SS*<MSC S]I@\TP.
M%Q^&F[7='%485H<R3:4E&:4E=VDFNA_-'_P<Q^'+[4?V;?@;XA@!-GX=^+<W
MV["L=HU/PSJUC S, 55?.D5/F(RS*!Z5_%GNVY.,\'CUR"/TZU_?I_P7W\#'
MQ?\ L ^+M17?O\'^)O#?B+Y,?=MKY(V#?*Q(8R*,#&<XS@FOX#01R3U&",>W
M.._M7^B'T5LQCBO"Z6$;7-EF?YIAVNU.O'"XR+T^TY8BI:_9;I:?Y_\ TJ,
M\+XC83&\O[O,N'<OJ-W=Y5<+B,9A9Z=$J4*"TZW;2W?^F+_P3></^Q/^SXR@
MA3X!TG ;&?\ 4+_=)&/3O]*^X:_(_P#X(B>,;CQ?_P $^?A*]WJ::E<Z(VJ:
M))B0226@LKMHX[68;F9'B0!=KX.!D#&*_7"O\_>-,)/ <7\3X.HU*>&S_-J4
MI1346X8ZNKJ]G9]+ZG]\<-XRGF'#V18ZDFJ6,RC+<334FG)0K8.C4BFXZ-I2
M5[:!1117S)[04444 %%%% !1110 4444 %>0_M ?\D-^+W_9-_&7_IAOJ]>K
MR']H X^!OQ>/_5-_&7_IAOJZ\!_OV"_["\-_Z>@95_X%;_KU4_\ 2&?Y86I?
M\A&_Z<WER>.@S,YP/ITK^E3_ (-G9&'[1'QTA$9,8^&.G.9?X=QUN(>6/0@#
M)SSAEXZU_-9J39O[\[1EKRZ)R<\F:3IGIS7]+/\ P;.,/^&@?CJN5W'X:Z=D
M<9_Y#47S8ZX..O3-?ZD^/O\ R9_BWW5IE^7Z7=T_[3R^W9WCJ^UE=]C_ #,\
M [_\1BX?:;5J^<7O:\E_9N.6N]KWOI9W5D?V@T445_E6?Z<!1110 4444 %8
M/BK_ )%CQ'_V =8_]-]Q6]6#XJ_Y%CQ'_P!@'6/_ $WW%73_ (E/_''_ -*0
MGL_1_D?Y97QTS_PN?XH^G_"<^)?S_M6YKRKG\!7JOQS.?C+\4>"/^*Z\2]1U
M_P")K<UY6,=__P!7O[U_M3DE_P"QLH_[%>7->CP=!JWDKV7DC_';BK_DIN(M
M+?\ "[FO_J?7O_7ZZ'UU^P.?^,SOV:\D_P#)6/"X'7_GZ)_^O7^G;7^8E^P1
MC_AL_P#9LVC_ )JQX7]_^7H_7N:_T[:_@[Z8'_)7\*?]DU6_]6V-/[A^B5_R
M0W$/_95U>G_4GRD****_D0_JD**** /X??\ @Y)/_&8/PT ;D?"6,X!Y _MJ
M[(SSQG!QTZ'K7\[-?T2?\')0 _;!^&A'WC\)(L]?NC6KL#/8?Q5_.W7^LW@5
M?_B$O ]_^A0[:?\ 49BC_+?Q[_Y.WQC_ -A6 _\ 51E^Y^C?_!)0_P#&Q#]F
M [\'_A-[WJ.N?#.N97)_IZ>^1_I&U_FW_P#!)?\ Y2(_LNX!_P"1YO-Q[?\
M(L:[^7-?Z2%?R/\ 2[_Y+_(?^R4PZ^[-,S_S/ZH^B??_ (A[FZ[<68U)=E_9
M63]M%Z+32^[85_#S_P '"G[) ^$W[1.D?M!>&;(Q>%?C3;.VN)9:9%:6.E^,
M-+BBAN&GGMHHHIKG783]KWS;KAYH9V=WW C^X:O@+_@IA^RQIO[6W[(_Q-^'
MC::=0\5Z5I%SXM\ ["%G3Q=H$$E[I<,3$$8OI(S92!OD,<[!LBOR3P;XXEP#
MQ[D^<5)R66XFI_9><0324LNQTH0G4DW_ - M94<8K--^PY6^64D_UOQ5X,I\
M=\$9SD:A!X[V+QN4U)I_NLSP:=7#V:3:5=<^%J-)OV5>=E>S7^:H>O7)XS_]
M>NZ^&?Q \1?"KQ_X0^(OA/4K[2O$'A#7M.US3[W3KAK2\C>QNHYI(H;E?FB^
MTP++;2,N,Q3.K94D5S>O:'JGAG6]6\/:Y93:?K.BZA=:9J=E<*4GMKRSF>":
M&5#RKI(C @\_E66-N.02>V/\_P!*_P!8ZE+#9C@YT:T:.+P>.PTH5(VC5H8C
M#XFE:4=>:,Z=2G-KJI1?9G^5%.KC<HS"G6I.M@\PRW%PG!J].OA<9A*J:[2A
M4HUJ>JT<91L]F?ZAO['W[0&B?M.?L[_#/XQ:)(&7Q1X=L9-2@,\4\UGJ]O"L
M&HVUP\+,OG1W4<@?."2"2!FOIFOXYO\ @W(_:WE\.^-_'O[+?B[5[Y])\5PP
M^*?A_%>7,0T[3=5LEDBUG3;99G$B2ZC$;:>."$;&>"9U3=(['^QFO\B_%+@N
MMP#QMG/#TDWA:=98O+*K4DJN78M>VPS3EK*5&,GAJKV]M1J6;5F_]9?#KB^A
MQSP?DW$=%<E3%X?V6-HW3=#'X9NAC*;M=)>VA*=/JZ4X-I-M(HHHK\]/MSX%
M_P""G'QEB^!_[%?QN\5IJATK5+WPG?>']%GBGC@N3J&L1-:1K;-)G=(1(1M0
M%RK$ <U_FJ2R/+(\LKM))([22.V27DD8N[D]2S,26/<DFO[)O^#E'XRVVC?"
MCX3?!NTOX_[0\4Z_<:_J5C%<8N%T[38F$,LL"9?R9)V10S@(W(!SC/\ &N?;
M_/K7^COT4.'5EG .,SRI"U;B/-:E6$I02;P>6\V#H\LMW'ZPL6U=VOJEU?\
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
M&BBBO\J#_3T**** "BBB@ K!\5?\BQXC_P"P#K'_ *;[BMZL'Q5_R+'B/_L
MZQ_Z;[BKI_Q*?^./_I2$]GZ/\C_+*^.G_)9_BB/3QUXDQ_X-+D]_R/TKRJO5
MOCJ/^+S?$\\C_BN?$?'N-4N@>>^3_P#KKRK^?48[8]:_VIR3_D2Y/_V*LMT[
M?[#A]/D?XZ\4_P#)3<16_P"A[FW_ *GU[_C_ , ^NOV!\C]L_P#9L'3'Q7\+
M?K='T^F?_KU_IVU_F(_L#_\ )Y_[-F<_\E8\+?3_ (^S_G\J_P!.ZOX.^F#_
M ,EAPI_V357_ -6N,_7[MC^XOHE_\D/Q#_V5=7_U3Y3?\0HHHK^1#^J0HHHH
M _A\_P"#DKC]L#X:'')^$D8SD]!K=V<8Z=2W^0*_G:K^B7_@Y)R/VPOAJ3]T
M_".(*/1O[;O0WYC'].]?SM5_K/X%_P#)I>!];_\ "0_E_MF)T/\ +?Q[_P"3
MM\8Z?\Q> ^?_  D9?K^GR/T9_P""2I'_  \1_9?R/^9XO ,#O_PC&N]??W'/
M]/\ 2/K_ #</^"2R@_\ !1']E\ALX\<WC?A_PC&NCWYY]NAK_2/K^1OI=_\
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
M*?B[1? W@+P_J7B7Q-K]];:?IVF:7;/<S2374R0HS[1MBA1G#232LD:("S.
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
M#,<IS' YI@O$.E1QF78O#XW"U5PO-NGB,+5A6HSM_;Z3M.";3>JT>[)?@/\
M&'PM\?O@]\//C%X,O;6_\/>/_#&FZ_:26DR3QV\US"!?Z?(R,WEW.FWZ7-A=
MP2'SK>XMY8)E65'4?BK_ ,'$/QWNOAY^Q]8_"K2YGAO?C!XHT[3=2>-E5UT#
M1ITU2\BZB3R[J:V@MIMG#PRR1OE7*G][=!\/:#X7TZ/1_#6BZ7H&DPO))#IN
MC6%MIMA%),V^9X[2TBA@1Y7)>1E0%W)9B22:Q/%GPY\ ^//LO_";>"_#'BS[
M"7-G_P )#H>G:N;7S,;_ +.;ZWF,6_ W;,;L#-?R;PMGV5\.<997Q%4RJMF&
M695FT<RH954Q4*=:<*%257!T:F+^KSIN=&:HRG56&Y:CIMJG%2Y5_57$>3X[
M/N%\UR*EF,,OQV:Y57RV>9PPTJL*$\50]AB,13POUBG)IQG4=.F\2G'F2=5M
M<S_RC$  .>GH>OX?_6IT<4EQ-#;P(7EN)HX(44?,TDK".-5S_$S$ <\D]>:_
MU.F_9O\ V?V)9O@O\,23U)\%>'^?_)"D_P"&;?V?@R,/@M\, T;K(C?\(3X?
MRKH<JRG[!PRGD'M7]>OZ8^!LTN L6G]E_P"L-%V:M;3^R$WKYI^?;^2(_1!K
M*:E+CZG*-TY*/#<XMKK9O/9*,K;2Y79[I['S#_P2T^!:?L]_L/\ P0\#26\,
M.K7?AT>*=>EC@$,MQJOB>9]7F>Y.Q'EE@2YCM%>7+B&WBC)P@K]":@M;6VL;
M:"SLK>&TM+6)(+:VMXDA@@AC4+'%#%&%2.-% 5450H P!4]?Q-G&9XC.LVS/
M-\7)SQ6:8_%YAB)-W;K8NO.O4U_Q5&?V;EV!H99@,%EN%@J>&P&$P^#P\$K*
M-'#4H4:<4O*$$%%%%><=@4$9!!&0>"",@@]01110!_G+_P#!8+]G_6_V?_VZ
MOB_IUYIAL_#OCK69?'_@VZ1S)!?:#XA)NP\<C$MYEG=--8W*O@I<V\JKN15=
MOS"4KCD9R?3/'%?ZM'BKX6?#7QU>6^H^,_ /A#Q5J%I"+>VO?$'A[2]6NX+<
M.T@@BN+VUFE2(.[N(PP0,[$#+&N2/[-W[/Q))^"WPP))R3_PA/A_J?\ MPK^
MS.%OI9K(^',ER;,.#ZV8XO*\NPN7UL?1SJGAH8I82G&A3J^PJ9;B94YRHPA[
M2]:IS5.:2LI*,?Y&XM^BS#B+B3.<\P7&$<KP^;8^OCXX">1/&2P\\3/VM:"Q
M$<UPJG!UI3<%["'+!Q@^9Q<Y?P%?\$>OV@M(_9Y_;C^%^O\ B2[^R>&?%=V_
M@G5YVD,4%L/$++96=S,6=$(BNY(E 8[2S@G[HK_1=1TD1)(V62.15='1@R.C
M ,KHRDJRLI!5@2"""#BO&H/V<_@';7$%U;_!KX9PW-K*D]O/'X+T!)89HR&2
M6-UL05=& 96!RI (Y%>RHB1HD<:*D<:JB(BA41% 5551@*JJ %     '%?A7
MB]XB9;XF<0X3B'!9%7R+$0RZG@,;2JX^GCHXEX>I.6'K0E3PF$]G*-.I*E-.
M,N90IM6:=_V[PKX"QOAQPW+AO$YY3SVA#'5\7@Z\,OEE\L/3Q*C*KAY4Y8W&
M^T7ME*K&:G"WM)1<79,_B,_X.3-O_#6'PVX);_A629P#T^V15_.8OW?^ C'U
MX_I_GT_U7O&/P:^$WQ#OHM3\=_#?P5XOU&")8(;[Q%X<TO5[N*%/N1)/>VTT
MJQKSA VT9X%<:?V5_P!FL\GX$?"D_7P-X?\ _D&OV/P_^DY@>">$<DX8J\(8
MO,)Y1A'AI8R&<T<-&NY5ZM;GC0EEM9TTO:\O*ZD[\M[ZV7Y%X@_1NK\<\79O
MQ1'B^EEL<TJX>HL%+))XN5!4,'AL+RO$+-<,I\SH.II1A93Y/>Y>:7\'/_!$
M5BO_  4=^ ^.IN_$"^^#X>U+/<>@SCMG/&:_T0J\@\-?L_? [P;K-IXA\)_"
M3X>^'-=L&9['5]&\)Z-IVHVCNC(S6]W;6D<T3,C,A*."58CH37K]?C?B_P")
M%'Q0XFPW$%#*:N3QH95A\M>%JXN&,E*5"OB:WM?:PH8=6DL0H\OL].6]];+]
M>\*O#^IX:\,2X=J9K#.&\QQ6/^MPP;P*MB8T8^R]@\3BW>'LOC]K[W-\,;:E
M%%%?E)^E!7S3^UU^S5X0_:T^ 7C[X)>,A<16?BC2I?[,U&R:*.^TK7;,?:M(
MOK:6:*5$\J^B@\]2N)8#)&2 V1]+45U8+&XK+L9A<PP->IAL9@<11Q>$Q%*3
MA5H8C#U(U:-6G):QG3J0C*+75&.)P]#%X>OA<32A7PV)I5*%>C4BI4ZM&K!T
MZE.<7HXSA)QDGNF?Y3?Q9^&/B[X,_$GQM\+/'FC:AX?\6>!_$FJ^'M6TO4[:
M6UNH9-/NYK>.8Q2HC-;WD2)=V<Z@Q75I/!=0,\$T<C>>KCYMS \<''MSU'XU
M_JC^)?V?O@;XRUF[\0^*_A'\//$6NZ@RM?:OK'A+1=0U&\95"JUS=W-I)-,P
M4!0TCL< #/ K!_X96_9J_P"B$?"C_P (;P__ /(-?VS@_IAX>GA,+3QG!&)J
MXNGAZ,,35H9Y2I4*M>-.,:M2E2J995G3ISFI2A"=2I*,6HN<M6?QGCOHB*MC
M,55P7&\,+@ZF(JU,+AJO#\L15P^'E4<Z5&=>.;T(U94X<L)5(T:2GRWY(WLO
MRN_X-]_^3$=+_P"QNUK_ -&M7[G5ROA#P-X-^'^E#0_ _A?0O"6C"5IQI?A[
M3+32K'SG^_+]FLXHHO,;^)MNX]S755_'W%V>0XFXGS[B&GAI82&<YIC,QAA9
MU%6G0CBJTJJI2JQA351PYK.:A%2M?E6Q_7/#N52R+(<FR65=8F6599@LO>(C
M3=)5WA,/"A[54G.HZ:J<G-R<\^6]N:5KLKY1_:T_8P^ _P"V?\.[WX??&CPI
M#J4;+YFB^)=.;^S_ !1X<OXSOM[W2-7A N(MDH5IK60R6ETF8KF"6-BM?5U%
M>3@,PQV5XS#YAEN+Q& QV$JPKX7%X2K.AB*%6#YH5*56FXSA*+6C37W'HXO"
M87,,+7P6.PU#&8/%4IT,3A<32A7P]>C4BXU*5:E4C*%2$XMJ491::>J/X+?V
MX?\ @A1^TO\ LVQZAXS^#6F:O\??AG8I]HO3X4TTWGC;1;<R*IEO/"UJTFJ:
MM;P[T$TVAVU]+#$LEU<VT-K#/<1_AOJ>G:AH]]<Z9JNG7^EZE9S/;WEAJ-I/
M8WEK/&2'AN;6Y2*XMY4/#1RQHRD$%017^LU7S3\7?V.?V7OCN+IOBO\  [X=
M^,+N]!^TZGJ'ARPCU:4L<L[:G;107I=CRSF8LW\1(S7]9<%?2SSS*L+2P/&6
M31X@5*T8YM@*]/ 9A*FFM,3A94I8/$U$N:U2D\$WI[2,Y)S?\M<:?18X>SG%
M3Q_">:RX9G45YY96PTL?ECG9ZX>2KT<3A(R?+S1;Q4(V;IPBGRK_ "[2,CD<
M45_?UXX_X(#?\$\?%SW<VE^"O&7@>XNA,1)X7\::FD-M)+]U[:PU'[=81B$\
MQ1-;/" -K1LI8-X*?^#:C]B[)/\ PM3]H0;B20->\"XY]!_P@O ] .@X%?M&
M$^E?X8UX<V(H\1X&=E>G6RRC6=^REA<96BTN[<?)'X]B_HJ>(M&?+AL?PSC(
M7=IK'XV@TKJSE&KE^C:UM%SM9J^U_P"'^G%&S@ G)P,#)/I^/\^U?WA> _\
M@W:_8%\)R3/XC;XL?$C?,DL"^*/&46GK:JJ[6A1?"FEZ LT4C9=OM2SN&. X
M4 #[W^$'_!,[]AWX'3P7O@+]GKP+#J<$:QIJVN:>/$>I'9*9D=KC6#=YE5SQ
M($5\ *20!CR<W^ESP/A5-9/DO$&:U(VY/;4\)EN'J/\ Z^SQ&)KPBMKO".5_
MLVU/3RKZ)G&&(E3><<0Y#EE)_P 3ZI#&9I7AY*G*E@*,F_\ L)27X'\+7['_
M /P2Z_:U_;(OX+KP/\.=:\,> 5F@%]\1_&^F7WAWPJ;>50Y;1[K4([27Q#(4
M(_Y <=]'$2/M,L *D_VE?\$]O^"6/P._86\-0:A9V4/C3XO:E:QCQ#X^U1))
MGB<JIDL="M)Y9;?3K.-QM$L$44]P%#3,37Z@VUM;V5O!:6=O#:VEK%'!;6UM
M$D%O;P1*$BA@AB58XHHT4)'&BJB* J@  5/7\N>)/COQCXBQJX"I*GD?#\YJ
M7]CY?4F_;J-N19AC&J=7&<KU4/9T*%U%^P<HJ1_3GAUX*\(>'?)B\)1GFV>J
M,HSSO,(0E7I\Z<91P-!<U+ P<&X2=)RK3BW&I6G%V17DWQV^*NA_ _X/?$?X
ML>(K[3M/TSP+X1UKQ TNJ7L%A:S7=C92R:?8_:+ETC,]_?"WL[:$%I;BXFC@
MA1Y9%4^LUA^(O#7A[Q?I-SH/BG1-+\0Z)>>7]KTG6+*#4-/N?*<21^?:7220
MR[)%5UWH<,H8<BOQC#2HPQ%">)ISJX>-:G*O2IR4*E2C&:=2$)R4E&4X)QC)
MQDHMIM.UC];JJHZ514I1A5<)*G.<7*$9M-1E**<7*,96;BI1;2M=;G^6#\9_
MB+K'Q:^*GCSXC:]</<:KXO\ %&L:[?.\C2_Z1J-[-<NJL0/DBWB(8^\J*P S
MBOZ'_P#@W(_9IL_%WQ>\<_M!:]I37-K\.M-CTGPW<SP12V::_JN2;F%Y59DO
M+2UWF-H"&CW!FPU?UF_\,T_L]_\ 1$_A?_X1/A__ .0*] \(^ ? _@"UN;'P
M/X1\.^$K.\F%Q=VWAW1['2(+F=5V++/'8P0K+(%^4,X) Z5_4O'7TDZ'$W V
M+X,R3A;$\/T\5AL-@%BGF]/%1IX"A*DJF&C2IX#"NU6C3=%OVEE&3]U[+^;^
M"OH^RX:XZCQOG'%%+B#$1K8W&+"O)?J?^WXSGMBO;SS+&>]1=2<HI4HOF:?.
MK-/KJ***_E0_I0**** "BBB@ HHHH _C2_X.0_V9[CPY\5_AU^TMH>EW;:+X
MWT@>%O%=XK(]G;>(=(7;:L8E17A-YIP@=G=G#RQRL&480?S5>#?$5YX2\3Z%
MXEL)I+>]T+5+'4[2YB=HY+>YLKJ*YAFC9>5=9(E*L/NMALX%?ZK7BKP3X/\
M'-C%IOC/POH'BK3X)OM$%EX@TFRU:UAGVE/.BAOH9HXY=I*[U4-CC.*\[_X9
ML_9\W;O^%*?"_=G.?^$)\/\ 7.?^?#UK^K/#_P"DM#A'@O <(YMPM7SU8"CB
M,)3QD,VAA%/!5*DYT</.C5P&*;=&%25'F]IRRIQIP5.*B^;^:.._H\?ZV<:U
MN,LJXICD->O4P>*J8663/'KZ]A(TX_6(5H9E@N55?94Y2@Z<I*?-)5'S)1X?
M]BWX[:/^T?\ LR_"7XL:1J=KJ;Z[X5TZWUMK:Z@NI+/Q#IUM%::O8WOD22>1
M?07*%I[>4K,GF(SKAU)^I*Y[PSX2\+^"],&B^$/#VB^&-($\ES_9F@Z;::58
M_:9E19;C[+910PF:18HUDE*;W$:!B0HQT-?R_F%;"U\?C*^!H5,+@ZV*KU<+
MAJM15:F'H5*DITJ,ZL84XU)4H-0<U""ER\W+&]E_2&%A7IX;#T\35A6Q$*-*
M%>M3@Z4*M:,(JI4A3<ZCIQG-.2@YS<4^7FE:[\X^*_PF\ ?&WP-KOPY^)?AV
MR\3>%/$5E/8ZAI]XG(2>,Q^=;3+B6VN8\[HIX661& (/%?QA?\%"_P#@@]\6
M?@6^N_$K]F.PUSXM?#*&6ZU*\\+6%O-J?CKPW9,SRE(-.MO,N]=L;0-^\FM8
MI;R*%//EB:-)'7^X2BON?#[Q0XK\-\>\3D.+4\%6JTZF/RC%<]3+\<H-:SIQ
ME&5*MRKEC7HRA.R2G[2"Y'\9QUX=\,>(67?4<_P2G6I0J+ YE04:>89?.HE>
M>&KN,O=;C%SHU%.C4Y5S0NDU_DS:II6IZ+>7&G:QIU]IE_:3/;W5E?VD]K<V
MT\9Q)#/!/&DD4L;<21R*K(>& /%4CM(^[SZG]:_T_OC;^Q'^RI^T5]HE^,'P
M/\!^+K^YW&;6+G1;:UUIW8-^];5;);>\>4%BX>25SOPS9(%?F-\1/^#=[]@C
MQI>+=^'&^*OPR4R/)/:^$?%MK>6T^X(!&(_%6D>(%MHT*[E6S%O]Y@Q8'%?V
M)D7TN>#L72I1X@R'.\IQ%H^UG@_JV:8137+S.$N?"8E1O=QB\/)JR3D]S^1<
M\^B9Q/AZM27#W$>4YCAU)NE3S*&*RS%*+>D9.C3QU"<E&W-/FI*6K5.+M$_@
MY3KR!CZ=@/Z4(I9E2-68LVU$5279F.%4+U+%B  !DDX':O[I?"?_  ;B?L,>
M']46^UKQ-\:_&EFJD'2-<\4Z)8VC,<8?[1X<\.:+J (QC9]K\LY.4)YK[T^"
M_P#P2J_8/^ ][;:KX'^ 7A>XUBT.ZWU?Q8;CQ;J$3\8=)M;DNE#@@%7V%U(^
M5A75FOTM. ,'"H\IRGB'-J_(_9QG1PN7X=RTY8RK5L16K05_B:PL[=%(Y,J^
MB?QIB:D/[7SW(,LH.251X:6,S+$**T;A2]AA*,FU\/-B8[ZI;'\5'[$7_!)O
M]J3]L_4=/UG2?"=_X ^$_P!N6#5/B/XPT^]TJQEA4_OO^$;L[R&";Q#*@^4R
M6.^RBE_=SW"NKH/[>?V&_P#@G[\#/V%?A_#X9^&^C1WWBW48(V\8>/\ 4E>?
M7_$=[A3(3-/),UC8*XS;Z=:-%:0CE8MQ9C]RVUM;V5O#:6EO#:VMO&D-O;6\
M20P011@*D<4485(T10 JJH4#@"IZ_E#Q,\;>+O$J<L+BZBRGA^,U*CD6 JS]
MA/E=Z=3,*[4)X^M!ZQ<X4Z$)>]3H0E[Q_5'ASX/<)^'%)5LOH/,<[G3=/$9[
MCH4WBY1GR>TI86"3C@L/-PBW2I2E*5OWM6II8HHHK\;/U<**** "O(?V@/\
MDAOQ>_[)OXR_],-]7KU5;VRL]2L[K3]0MH+VQO;>6UO+2YC6:WN;:=&CF@GB
M<%)(I8V9'1@59201@UMAZOL,10K-.2HUJ55Q6CDJ<XS:3Z-VM<BI'GISAMSP
ME&_;F35_E<_R;=1_Y"%]_P!?=SUX_P"6SYSZ<U_2]_P;.KCX_?'1CU_X5Q8+
MCTQK,!S^N*_JL/['7[*C.9&_9X^$!<MO+'P)X?)+YSNS]BZYYS7H/@/X)?"#
MX77=W??#GX:>"?!%[?1&"\N_#'AW3-'N+J N)##/+96\3R1^8H?8Q*[@#C(K
M^L?$7Z2V6\<<&9OPK1X3QV7U<SP^'HK&U<UH5X470Q6'Q-W1A@Z<IJ3H<ME4
MBUS;O8_E_P /?HZ8G@?C/+^*ZG%E#,H8&>-E]1AD]3"RJ+%X:OAU;$O,JZBZ
M?MN9WHRYU&WNWNO4:***_D@_J,**** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BN>T#Q=X6\5G51X8\1:)X@.A:I<:)K0T;4[/4CI.L6F/M6EZC]DF
ME^QZA;[E\^TN/+GBR-Z#-=#0 4444 %%%% !1110 445CZYXAT+PS8_VGXBU
MG3-"T[S[>U^W:M?6^GVGVF[E6"UM_M%U)%%YUQ,Z10Q[M\LC*B L0* -BBFJ
MRNJNC!D=0RLIRK*PRK*1P00001P1R*=0 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%<_%XK\,3^([GPA#XAT67Q79Z?%J
MMWX;CU*S?7+;3)I###J$^EK,;V*REE!CCN7A$+N"BN6!% '04444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %?
M'[6W_!/;P5^U[XK\/>+/$WQY_:C^%%QX=TF?2(=*^!/QCU/X:Z+J,4]PEP;K
M6+'3K&X.H7L3($@GEE'DQM(B*!(V?O\ HH _E-_;[_X)LV'[/*?LV#P#^V?^
MWTR_$KX]> OA9XA75_VE_$=WL\,^(=16WOGL6@L+1HM11'8PW<[7!#']XDB_
M*?OZ/_@AY\)EV./VT?\ @HT6&U@6_:M\2')&#DC^RMIYYQC'MCBNI_X*YG:G
M[%)QG_C,;X0C_OK6X5_3.:_8E/N+_NK_ "% 7.2\ ^#X/ '@SPUX+M=8U[Q!
M;^&='L='AUOQ1J!U7Q#JD=C D"WNL:D8H?MM_.$\RYN/*C\V5F?:,XKKZ_(G
MXM_'SX^?M2?M/>*/V2?V2_%B?"_P9\'[;2)OVAOVA8].LM:U+2-;U53>0_#S
MX?65]#=Z6WB9=.-M<ZE?ZM;RPZ9'<Q[;&Y\^-EY?7?V$OVL_V=M"\1?$[]FK
M]MWX[_$WQWIMS)XLU#X9?M$>(I?B-X%\?0Z=#>7-SX6L/MZ3ZEX(?45FFBT^
M3PM/I]A;79M#<Z?=VUM'  #]GJ*^3_V+?VH=)_:W^ _AOXIV^F2>&_%,5Q>^
M%OB3X*N=PO\ P-\1- D%IXG\+7Z, RW&G7GW<_?ADB<$A@3\G?'SX]?M&?'K
M]H+5?V1/V0[VW\!V7@JQL[OX]_M#W^G1ZHOP^_M5!-I?AGP?IMT&L-4\6W]K
MNN2UVLMKI<+03W5O/YT<3 'ZPT5^--U_P3:_:;^'EOX@\<?!/_@HG^TKJ7Q8
MO(UOK?3_ (R>)$\??"W5M1@WS?V?<>#=2CDL/#NEWMPQ20>%%T.2&(HD<J1Q
MJH^[?V/_ (A?'WX@_"=)OVE?AK'\-?BMX=UK4_#&O6UC=)>:%XD;1YVM8_%7
MAZ4'SAI.M(BWEK'<)'-$LOENI*;F /AK_@D40;G]OGU'[<OQ:!_[]:21^AK]
MCJ_EE_83\6_M+_%'XV?MY?LR?L^74WPET:#]K[XG^+?BA^T7=Z;9ZPWA[3=5
M^P6EEX3\!Z3>+/97GC2\B62_6]U6!]-TF**">:UOO-6W?[_\:_L&?M7_  8T
MCQ?\6OV=OVZ/C]XY^*L$B>)9? OQR\10>,/AAXR733/>7OAR/09K4VW@F+5$
M9X;:;P;#HT-M.+?SK>>UC^SD _9NBOE?]B_]H^']JK]GCP3\7I-*_P"$>\0W
MQU7P[XY\+M/'<3>%_'7A749]%\4:%/)$S)YEIJ-J[KSDP31,0-V*_)7XA_M<
M_MC:C_P4K^.G[&GP-GEU)-=^'G@76/#7B7Q!9VMQX+^"MC/<ZE%XC\47,%O;
MQ:AJNI7T<42:;ILUVT$MQ!RUO%YK, ?T)45^/.M?\$WOVDK.34_B-X-_X*,?
MM-#XTOI2O:+XBUK3M1^$5UK%L%N([2Y^&'V!?#%EI%[<1"TN9M,TVTUA;&1_
M*U&.?]\/H+_@GM^T]\0/V@/ ?Q!\'_&[1]-\/_'_ /9_\?WWPK^+.G:2S_V7
M?ZI8VEK?Z5XJT=90LHTCQ/I-W;:E:;E/DR/<6;.\MK(: /T$HK\W_P!N3]K;
MXC?#'Q/\,_V9/V9?"UIXX_:I^.Z:E>>%+75MR>%/A_X$T.:VM_%?Q*\8SQNL
MJ:?H?VZU6PL(@9]5OI$MD,47FW$/BD?_  3._:&U^YTSQWXY_P""DG[51^+%
MK9R.TW@WQ!8^%_AC;:C(\UQ%#%\,[*T7POJ>G6,LYMX3KVG:I?7%K%"+N[GD
M17 !^Q=?GS_P4S /[,-QD X^)GPG(R,X(\>:)@C/0^XKR;]F/]I#X\_"KX^2
M_L8?MHZQH'B'QOJVE3:Y\#/C/HED='TSXPZ%8MMO=.U#2_\ 4Z9XUTB PR:K
M96Y%K>AVOK!(X2\%OZU_P4R_Y-AN?^RE_"C_ -3S1* /O'0_^0+I'_8+T_\
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
MA+&"#4O^"@=Y'&BSWO[<WQ5^T2*H#R^1;Z3%%O;J=B#8O. H'2OV5E4/%(C
M%6C=6!&0592"#[$'%?CI_P $B6#7/[?..<?MR_%OGL<Q:2>,?YS7[&O]QO\
M=;^1H _+_P#X)A:1:>'-&_:[\.Z8KQ:3IO[9?QAFLK4ME+=]6;2-4OO+4 *B
MRWEU++M4 #<!V%>=_LU:782_\%9/VY-6DMHVU&T^$GP;MH+HJ#+'!-?>(3)$
MK=0K$DD \Y->K_\ !-\@O^V3@@_\9C?%#IR/^/'0!_,&O./V9C_QM3_;L_[)
M7\%O_2WQ!0-=?3]4?KM7Y4_LIV%II/\ P4J_X*16>GPK:VM[X0_92UVY@BR(
MI=7U&W^,MM>WS)G'VBY@TZRBE?JR6T0/W17ZK5^6O[,A_P"-F?\ P49_[)S^
MR+_Z#\<J!'E_[+#)\0/^"NG_  4;\5^*@E_KOP8\(? #X2_#DS[V;P]X+\0^
M"[?QSKW]G1N[) ==U_56&I30HGVH:791ON^RBOV:K\0OVP9_%7["/[;/A_\
MX*!:)X6\0>(_V>_BKX!T[X/?M;6/A2W:^OO#EUHFI0M\-?BM=Z/!#)=7UAX;
MMKO6+#6KJW&^UT^Y66X#00J]O^IOAG]I;]G_ ,8>"K?XB>'/C%\.]3\&7-BF
MI)K\/BO1ULDM'A$^^<R72O ZQG+Q2HLBG@KF@#\]/^"J%A!I/B?]ASXCZ;;,
M?%_AK]J[P3I.D74#&*Y_L_Q'::GIFKVOF1XD:&6TG=Y(]VW$88CC(]T_X*8$
MG]E^<D8)^)/PF)'H3X[T0D?A7R?)XOM?^"E/[8'PMU/X5WL^I?LK?LE>)YO&
MFK?$2*TN5T#XG_%:&WU#1K;PWX7NI3 E_I_AD3RW6HZI%%/:O>&"WMI2\$Y7
MZR_X*9G_ (QAN1QS\2_A0![G_A/-$X'J?:@#>_;\\3:OX0_8 _:'U_0YY;74
M[;X)ZA:074#-'-;1:O:66CWES'(OS1O!97]Q*L@P8RF_(VYKVK]ECP=X=\ ?
MLY?!7PAX3BCB\/:'\-_"=GIBQ,KH;=-'M2K!URK%R2Q8$[B2<\UN_$SX:Z5\
M8_@7XQ^%.N(KZ5\0?AOJ7A*\##(1-:T%[))AZ-!-+',C#E7C5AR*_,/]@?\
M;'T/X3VEI^P?^U?J\'PN_:#^"-D/"_AW4O&=X-,T#XR^ ]&46^A>-O"&N:@+
M>QOG;3A:0ZS9+<&:SO\ <N&CDB=P#]FG19$>-QN1U9&!Z%6!5@?J"17XM_\
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
M/%>D6K.MK_PG@\3:QX?;698/]6M_?:6@BFE4!I(HX0^=B!<GXN_ [PQ\6_\
M@MU^SKXK\3Q0WL7P5_9'^)/C[2=,NK>.XMKS6[WQAX;\)Z?.ZRJPCETM]=;4
MK:51O6>V0 C<:]3_ .";OPG^('B'Q/\ '7]NCXW>'+[PM\3_ -J35]+3PCX4
MU?\ Y"O@3X%^&8<> O#-_%@?9=1O)+B\U_5+8JLD%S?1VDNYK0,=NX_Y3$:)
M_P!F&^,?_5R?#V@+GZB5^5WQ0_:]_:)^*WQB\<_ ']A[P'X+\1:C\+[BSTSX
MG?&#XBZI=6_@GPKKU[#]I'AS3+#38I;K7-:M8&AEOX?-LX;1;F(-<-+NB7]3
MW!964$J64J&'5<@C<,]QU%?BO^PS\7?!?[./QR_:G_9>^-^J:)\//B%JWQN\
M7?%7P3KGB6ZAT>R^)W@_QW?RZS87FCZM?+:VNHW>B_:6TG4+19C/:2VBDH()
MK9Y #T%]._X+!^%E.I_VU^RO\2X8K<RW'AS^SO$_A2:Z<D%[*VU$W>KJC;2R
M).]LPR-QCYQ5S_@CS>>,[[]F/QQ<?$+1K#P[XS?]I/\ :"_X2'0=*O9-1TS2
M-1_X65KIFLM/O98H'N+2(D&*1H(BP;)C4Y%?3G[0'[9_P?\ @SX7G72?%6A>
M/?BCKT4NE_#7X7^$]5LM;\4^-/%=U$5TG2[.PT^6XD@@>=DFO+^[$%E9V4<]
MU<SQ01/(ORA_P1AU?Q[K_P"RGXOUKXH:!%X6^(&J?M'_ +0-[XJ\.PW4=[%H
MVJS_ !*UUY+!+J$F*<01F-3(AP3F@?GITT_KTU/*]#./^#@CXC\=?^">/PP
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
M^$O'=A::9XQ\/Z7XCT^QU2PUJSM-6M(KR"VU;2YUN=.U"*.965+JSN$6:WE
MWQ2*KJ0P!KJ%54544!54!54= JC  ]@!@4M% 'Y)_P#!9,P?\,U?#3[1%'*I
M_:C_ &?!%YMV]FL=S_PG^G?9IEDC!,LD4VR2.V;$=S(JP2E4<D?:_P :/V2O
MV<OVE=+TR'XV?"3P=X]GL;6 :?JFKZ5 =;T[Y(VSI^LPB+4[-N"NZWN8SM9U
MSM=@?A;_ (+3_P#)L7PN_P"SLOV:_P#U9FCU^NMG_P >=I_U[0?^BEH ^:?@
M=^QA^R_^SA<S:A\&?@QX)\%:S<Q"&[\0:?I$$OB&\C5Y)%6[URZ$^IW 4RN%
M\VY;:IVC@ #Z?HHH \P^*?P5^$WQNT+_ (1GXM_#WPG\0M!$@E73/%>B6.L6
MT<B\AXDO(9?+;./F0J?>OG[P#_P3Q_8Q^&GB&R\5^$_V?OA_:^(M+N&N=(U:
M^TB+5KO1I&&W&D2:G]J.FQ@'"QV?DQKQM48K[0HH"XU$2-%CC18XT4(B(H5$
M51A550 %4 8    Z5RY\#^$3XS7XB'P[I1\<)H$OA9/%!LXO[97P[/>0:A-H
MZWVWSQI\E[;6]T]L&\IIH8Y"NY0:ZJB@ KP;XW?LP_ /]H[3+;2?C7\+/"'Q
M!MK)VET^77])MKF^TZ9E*^?I^H;!>64Z@G9+;S1R(3E6!YKWFB@#Y2^"?[$'
M[*_[/%^^L_"7X,>#_#.O.6W>(OL U'Q!M)8B-=:U)KO45C0,RQQK<!8T.U %
M  ^@/!W@/P?\/['4--\%^'=+\-V&JZUJ?B+4;72;6.TAO-<UJY>\U75)TB"K
M)>:A=R27%U.P+S3.TCDLQ-=;10!Y'\8/@+\&OC_H-KX8^-'PU\'_ !+T&QO8
M]1LM,\8:'8ZU:VE[%_J[JVCO891#,IP0\>UL@<\5E?!K]FGX#?L\KKJ?!+X5
M>"_ADOB=K-]?7PAHEGHRZL^GB9;)KX6D<8G:V6XF6)GR4$C <&O<:* //OB3
M\*?AO\8?#=UX0^*/@GPWX[\,W@Q<Z+XFTFSU:QD[Y\F[BE53Q]Y<'WKYS\-_
M\$\_V*_"FK:=KNC?LX_#"+5M'OFU#1[ZZ\-V5_-I-R> =--ZDXLHD'$4-N(X
MHQPB"OLVB@"*""&UABM[:*."W@C6*&&%%CBBC0!4CC1 %1%4 *J@  <5P'Q-
M^$GPR^,_AFZ\&_%;P)X7^('A>\Q]HT3Q5H]EK.GR%65P?(O8945@RJ=R@'CK
M7HE% 'R5X2_80_8\\#>(]#\7>%/V=?A5HWB/PR[2>']6M?"6E?:]'=HGA+:=
M(]NWV0^4[(##LV@\8KWRT^&?@&P\=W_Q.L_"6AVWQ U30[7PUJ'BV&P@CUR[
HT"RG>YM-(GOU03O86\\DDT-L6\J.1W95!8FNYHH **** "BBB@#_V0$!

end
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259355456">
<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, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">0-21121<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">TRANSACT TECHNOLOGIES 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_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001017303<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_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="ro">
<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">06-1456680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">One Hamden Center<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">2319 Whitney Avenue, Suite 3B<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">Hamden<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">CT<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">06518<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">203<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">859-6800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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, par value $0.01 per share<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">TACT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 78,500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,964,674<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Marcum LLP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Hartford, Connecticut<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_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717254663600">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 12,321<span></span>
</td>
<td class="nump">$ 7,946<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable (net of allowance for expected credit losses of $768 and $351)</a></td>
<td class="nump">9,824<span></span>
</td>
<td class="nump">13,927<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NontradeReceivablesCurrent', window );">Employee retention credit receivable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,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_InventoryNet', window );">Inventories</a></td>
<td class="nump">17,759<span></span>
</td>
<td class="nump">12,028<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="nump">322<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">773<span></span>
</td>
<td class="nump">724<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">40,999<span></span>
</td>
<td class="nump">36,125<span></span>
</td>
</tr>
<tr class="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 );">Fixed assets, net</a></td>
<td class="nump">2,421<span></span>
</td>
<td class="nump">2,781<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets</a></td>
<td class="nump">1,602<span></span>
</td>
<td class="nump">2,488<span></span>
</td>
</tr>
<tr class="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,621<span></span>
</td>
<td class="nump">2,621<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">6,304<span></span>
</td>
<td class="nump">7,327<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">88<span></span>
</td>
<td class="nump">242<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">163<span></span>
</td>
<td class="nump">248<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_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">13,199<span></span>
</td>
<td class="nump">15,707<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">54,198<span></span>
</td>
<td class="nump">51,832<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Revolving loan payable</a></td>
<td class="nump">2,250<span></span>
</td>
<td class="nump">2,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_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">4,431<span></span>
</td>
<td class="nump">7,395<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">4,947<span></span>
</td>
<td class="nump">4,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_OperatingLeaseLiabilityCurrent', window );">Lease liabilities</a></td>
<td class="nump">929<span></span>
</td>
<td class="nump">875<span></span>
</td>
</tr>
<tr class="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 revenue</a></td>
<td class="nump">1,079<span></span>
</td>
<td class="nump">1,329<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">13,636<span></span>
</td>
<td class="nump">15,926<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, net of current portion</a></td>
<td class="nump">209<span></span>
</td>
<td class="nump">143<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Lease liabilities, net of current portion</a></td>
<td class="nump">720<span></span>
</td>
<td class="nump">1,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_OtherLiabilitiesNoncurrent', window );">Other liabilities</a></td>
<td class="nump">219<span></span>
</td>
<td class="nump">218<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_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="nump">1,148<span></span>
</td>
<td class="nump">2,044<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">14,784<span></span>
</td>
<td class="nump">17,970<span></span>
</td>
</tr>
<tr class="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 (see Notes 8 and 14)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock</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_CommonStockValue', window );">Common stock, $0.01 par value, 20,000,000 authorized at December 31, 2023 and 2022; 14,003,653 and 13,956,725 shares issued; 9,958,811 and 9,911,883 shares outstanding, at December 31, 2023 and 2022, respectively</a></td>
<td class="nump">140<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_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">57,055<span></span>
</td>
<td class="nump">56,282<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">14,378<span></span>
</td>
<td class="nump">9,630<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of tax</a></td>
<td class="num">(49)<span></span>
</td>
<td class="num">(79)<span></span>
</td>
</tr>
<tr class="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 );">Treasury stock, 4,044,842 shares, at cost</a></td>
<td class="num">(32,110)<span></span>
</td>
<td class="num">(32,110)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders' equity</a></td>
<td class="nump">39,414<span></span>
</td>
<td class="nump">33,862<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">54,198<span></span>
</td>
<td class="nump">51,832<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember', window );">Series A Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2147479440/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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<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 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 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: 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_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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://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/2147479440/944-210-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(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 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_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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 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_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/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 9: 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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<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)(5))<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 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 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: 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 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: 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 21: 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 201.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 22: 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 201.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 23: 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 201.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NontradeReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NontradeReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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/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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<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_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_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-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_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -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 2: 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><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717254804784">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></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_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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for expected credit losses</a></td>
<td class="nump">$ 768<span></span>
</td>
<td class="nump">$ 351<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' 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_PreferredStockParOrStatedValuePerShare', window );">Preferred 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_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">4,800,000<span></span>
</td>
<td class="nump">4,800,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (in shares)</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 (in shares)</a></td>
<td class="nump">20,000,000<span></span>
</td>
<td class="nump">20,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 (in shares)</a></td>
<td class="nump">14,003,653<span></span>
</td>
<td class="nump">13,956,725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">9,958,811<span></span>
</td>
<td class="nump">9,911,883<span></span>
</td>
</tr>
<tr class="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 (in shares)</a></td>
<td class="nump">4,044,842<span></span>
</td>
<td class="nump">4,044,842<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember', window );">Series A Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (in shares)</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_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<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_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<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(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<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(28))<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_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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259027120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - 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, 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_IncomeStatementAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 72,631<span></span>
</td>
<td class="nump">$ 58,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_CostOfRevenue', window );">Cost of sales</a></td>
<td class="nump">34,231<span></span>
</td>
<td class="nump">33,727<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">38,400<span></span>
</td>
<td class="nump">24,412<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Engineering, design and product development</a></td>
<td class="nump">9,442<span></span>
</td>
<td class="nump">8,570<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Selling and marketing</a></td>
<td class="nump">9,934<span></span>
</td>
<td class="nump">11,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_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">13,318<span></span>
</td>
<td class="nump">12,193<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_OperatingExpenses', window );">Operating expenses</a></td>
<td class="nump">32,694<span></span>
</td>
<td class="nump">32,089<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 );">Operating income (loss)</a></td>
<td class="nump">5,706<span></span>
</td>
<td class="num">(7,677)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Interest and other income (expense):</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_InterestExpense', window );">Interest expense</a></td>
<td class="num">(310)<span></span>
</td>
<td class="num">(208)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeDomesticDeposits', window );">Interest income</a></td>
<td class="nump">55<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_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="nump">452<span></span>
</td>
<td class="num">(16)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Interest and other income (expense)</a></td>
<td class="nump">197<span></span>
</td>
<td class="num">(224)<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 (loss) before income taxes</a></td>
<td class="nump">5,903<span></span>
</td>
<td class="num">(7,901)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (expense) benefit</a></td>
<td class="num">(1,155)<span></span>
</td>
<td class="nump">1,965<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)</a></td>
<td class="nump">$ 4,748<span></span>
</td>
<td class="num">$ (5,936)<span></span>
</td>
</tr>
<tr class="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>Net income (loss) per common 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_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.48<span></span>
</td>
<td class="num">$ (0.6)<span></span>
</td>
</tr>
<tr class="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.47<span></span>
</td>
<td class="num">$ (0.6)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract', window );"><strong>Shares used in per-share calculation:</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">9,951<span></span>
</td>
<td class="nump">9,905<span></span>
</td>
</tr>
<tr class="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">10,021<span></span>
</td>
<td class="nump">9,905<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.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_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeDomesticDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Interest earned on deposits in United States money market accounts and other United States interest earning accounts.</p></div>
<a href="javascript: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 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeDomesticDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<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_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate 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 costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future 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 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-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_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258998496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 4,748<span></span>
</td>
<td class="num">$ (5,936)<span></span>
</td>
</tr>
<tr class="re">
<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, net of tax</a></td>
<td class="nump">30<span></span>
</td>
<td class="num">(222)<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive income (loss)</a></td>
<td class="nump">$ 4,778<span></span>
</td>
<td class="num">$ (6,158)<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/2147483589/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/2147483586/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://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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717254717792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Treasury Stock [Member]</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss) [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2021</a></td>
<td class="nump">$ 139<span></span>
</td>
<td class="nump">$ 55,246<span></span>
</td>
<td class="nump">$ 15,566<span></span>
</td>
<td class="num">$ (32,110)<span></span>
</td>
<td class="nump">$ 143<span></span>
</td>
<td class="nump">$ 38,984<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_CommonStockSharesIssued', window );">Beginning balance (in shares) at Dec. 31, 2021</a></td>
<td class="nump">9,872,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock from exercise of stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of common stock from exercise of stock options (in shares)</a></td>
<td class="nump">17,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock on restricted stock units</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock on restricted stock units (in shares)</a></td>
<td class="nump">47,931<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockGrantedDuringPeriodValueSharebasedCompensationForfeited', window );">Relinquishment of stock awards and deferred stock units to pay withholding taxes</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(119)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(119)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Relinquishment of stock awards and deferred stock units to pay withholding taxes (in shares)</a></td>
<td class="num">(26,437)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">1,155<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,155<span></span>
</td>
</tr>
<tr class="re">
<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, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(222)<span></span>
</td>
<td class="num">(222)<span></span>
</td>
</tr>
<tr class="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">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,936)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,936)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2022</a></td>
<td class="nump">$ 139<span></span>
</td>
<td class="nump">56,282<span></span>
</td>
<td class="nump">9,630<span></span>
</td>
<td class="num">(32,110)<span></span>
</td>
<td class="num">(79)<span></span>
</td>
<td class="nump">$ 33,862<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_CommonStockSharesIssued', window );">Ending balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">9,911,883<span></span>
</td>
<td class="text">&#160;<span></span>
</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">13,956,725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock from exercise of stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of common stock from exercise of stock options (in shares)</a></td>
<td class="nump">1,875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock on restricted stock units</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="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 );">Issuance of common stock on restricted stock units (in shares)</a></td>
<td class="nump">58,705<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockGrantedDuringPeriodValueSharebasedCompensationForfeited', window );">Relinquishment of stock awards and deferred stock units to pay withholding taxes</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(87)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(87)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Relinquishment of stock awards and deferred stock units to pay withholding taxes (in shares)</a></td>
<td class="num">(13,652)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">860<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">860<span></span>
</td>
</tr>
<tr class="re">
<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, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="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">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,748<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,748<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2023</a></td>
<td class="nump">$ 140<span></span>
</td>
<td class="nump">$ 57,055<span></span>
</td>
<td class="nump">$ 14,378<span></span>
</td>
<td class="num">$ (32,110)<span></span>
</td>
<td class="num">$ (49)<span></span>
</td>
<td class="nump">$ 39,414<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_CommonStockSharesIssued', window );">Ending balance (in shares) at Dec. 31, 2023</a></td>
<td class="nump">9,958,811<span></span>
</td>
<td class="text">&#160;<span></span>
</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">14,003,653<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_StockGrantedDuringPeriodValueSharebasedCompensationForfeited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of forfeited shares granted under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph c(2)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_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 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.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 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(28))<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><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(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_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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related to Restricted Stock Awards issued during the period, net of the stock value of such awards 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 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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717254851872">
<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, 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_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_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 4,748<span></span>
</td>
<td class="num">$ (5,936)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation expense</a></td>
<td class="nump">860<span></span>
</td>
<td class="nump">1,155<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">1,489<span></span>
</td>
<td class="nump">1,332<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax benefit</a></td>
<td class="nump">1,020<span></span>
</td>
<td class="num">(2,141)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfProperty', window );">Loss on the disposal of fixed assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossUnrealized', window );">Foreign currency transaction losses</a></td>
<td class="num">(30)<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="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="nump">4,248<span></span>
</td>
<td class="num">(6,421)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherReceivables', window );">Employee retention credit receivable</a></td>
<td class="nump">1,500<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_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(5,658)<span></span>
</td>
<td class="num">(4,378)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="num">(322)<span></span>
</td>
<td class="nump">137<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other current and long-term assets</a></td>
<td class="num">(10)<span></span>
</td>
<td class="nump">167<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(2,988)<span></span>
</td>
<td class="nump">3,103<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities', window );">Accrued liabilities and other liabilities</a></td>
<td class="nump">650<span></span>
</td>
<td class="nump">754<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">5,507<span></span>
</td>
<td class="num">(12,220)<span></span>
</td>
</tr>
<tr class="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">(901)<span></span>
</td>
<td class="num">(1,299)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(901)<span></span>
</td>
<td class="num">(1,299)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Proceeds from bank borrowings</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Withholding taxes paid on stock issuance</a></td>
<td class="num">(87)<span></span>
</td>
<td class="num">(119)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfLoanCosts', window );">Payment of bank financing costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(69)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) provided by financing activities</a></td>
<td class="num">(87)<span></span>
</td>
<td class="nump">2,062<span></span>
</td>
</tr>
<tr class="ro">
<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">(144)<span></span>
</td>
<td class="num">(54)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">4,375<span></span>
</td>
<td class="num">(11,511)<span></span>
</td>
</tr>
<tr class="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, beginning of period</a></td>
<td class="nump">7,946<span></span>
</td>
<td class="nump">19,457<span></span>
</td>
</tr>
<tr class="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, end of period</a></td>
<td class="nump">12,321<span></span>
</td>
<td class="nump">7,946<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="nump">268<span></span>
</td>
<td class="nump">129<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Income taxes paid</a></td>
<td class="nump">160<span></span>
</td>
<td class="nump">62<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Non-cash capital expenditures</a></td>
<td class="nump">$ 23<span></span>
</td>
<td class="nump">$ 54<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_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_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript: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 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<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 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ForeignCurrencyTransactionGainLossUnrealized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<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 5: http://www.xbrl.org/2009/role/commonPracticeRef<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 6: 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_ForeignCurrencyTransactionGainLossUnrealized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfProperty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of oil and gas property or timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfProperty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<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_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_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 accrued expenses, and obligations 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 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_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncreaseDecreaseInOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 receivables 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_IncreaseDecreaseInOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInPrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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) of consideration paid in advance for income and other taxes that provide economic benefits in future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfLoanCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 loan origination associated cost which is usually collected through escrow.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfLoanCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260444576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of business<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_tact_DescriptionOfBusinessAbstract', window );"><strong>Description of business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Description of business</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1. Description of business</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Technologies Incorporated (together with its subsidiaries, &#8220;TransAct,&#8221; the &#8220;Company,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or &#8220;our&#8221;), which has its headquarters in
      Hamden, Connecticut and its primary operating facility in Ithaca, New York, operates in one operating segment: software-driven technology
      and printing solutions for high growth markets including food service technology, casino and gaming and &#8220;point of sale&#8221; (&#8220;POS&#8221;) automation markets.&#160; Our solutions are designed from the ground up based on market and customer requirements and are sold
      under the BOHA!<sup>TM</sup>, AccuDate&#8482;, Epic, Ithaca&#174;, and EPICENTRAL<sup>&#174;</sup> product brands.&#160; We sell our products to original equipment manufacturers, value-added resellers, select distributors, and directly to end-users.&#160; Our product
      distribution spans across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. TransAct also provides world-class service, spare parts, accessories and printing supplies to its
      growing worldwide installed base of products.&#160; We also generate revenue from the after-market side of the business, providing printer and terminal service, consumables and spare parts in addition to revenue from our two software solutions; (i) our line of BOHA! software applications used to automate the back-of-house operations of restaurants, convenience stores and
      food service operators and (ii) the EPICENTRAL Print System (&#8220;EPICENTRAL&#8221;), that enables casino operators to create promotional coupons and marketing messages and print them in real time at the slot machine.</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
      </span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-weight: bold;">Current Business Trends</div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt;">After strong demand during the year due in part to our primary competitor&#8217;s
        struggle to deliver products in the face of supply chain constraints, in late 2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain
        concerns advised us that they would temporarily reduce orders until their stock normalized. This slowdown impacted our results in the fourth quarter of 2023, and we expect this trend to continue to impact results in 2024. Further, our primary
        competitor in the casino and gaming market has resumed supplying product with increasing volume in 2024, which has begun to result in downward pricing pressure in that market and could exacerbate the demand slowdown, either of which could
        negatively impact our worldwide casino and gaming sales. In addition, we have experienced cost increases as a result of current economic conditions, most of which we have been able to offset by increasing prices of our products.&#160; However, there can
        be no guarantee that we will be able to increase prices sufficiently to offset any future such cost increases that cannot be predicted, and we may be impacted by supply chain disruptions, inflationary pressures and other global economic conditions
        that may affect the markets we serve and from which we source our supplies and parts.</div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt;"> <br/>
      </div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">Balance Sheet, Cash Flow and Liquidity.&#160;</span><span style="font-family: 'Times New Roman'; font-size: 10pt;">During the third quarter of 2023, we began a cost reduction
          initiative to reduce our overall level of operating expenses that includes reducing employee headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering resources and other expenses, and to a
          lesser extent, certain general and administrative expenses. We expect these actions will result in approximately $3 million of
          annualized savings beginning in 2024, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts we have taken to bring
          expenses in line with our revenue and mitigate the impact of global economic conditions such as supply chain disruptions and inflation are sufficient or adequate, and we may be required to take additional measures, as the ultimate extent of the
          effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.</span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
        </span> </div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial
        obligations over the 12 months following the date on which the Consolidated Financial Statements included in this Annual Report on Form 10-K (this &#8220;Form 10-K&#8221;) were issued, including consideration of the actions taken to manage expenses and
        liquidity, we believe that our net cash to be provided by operations combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations,
        capital spending, and working capital requirements and to comply with the financial covenants of our credit facility over at least 12 months following such issuance date.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </span></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Use of Assumptions and Estimates</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;">Management&#8217;s belief that the Company will
            be able to fund its planned operations over the 12 months following the date on which the Consolidated Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, inflation,
            rising interest rates, capital expenditures and other operating costs. Our current assumptions are that casinos and restaurants will remain open and consumer traffic will continue to remain strong during 2024. Though demand for our products at
            casinos has increased substantially post-COVID, we cannot predict the ultimate impact of the current economic environment, including inflation, rising interest rates and supply chain disruptions on our customers, which may impact sales. We
            believe that we are positioned to withstand the impact of any potential economic downturn or slower than anticipated economic recovery and we would be able to take additional financial and operational actions to cut costs and/or increase
            liquidity.</span> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span>
       <br/></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">In addition, the presentation of the accompanying audited Consolidated Financial Statements requires us to make estimates
        and judgments that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of contingent assets and liabilities. Our estimates include those related to revenue recognition, accounts receivable, inventory
        obsolescence, goodwill and intangible assets, the valuation of deferred tax assets and liabilities, depreciable lives of equipment, share-based compensation and contingent liabilities. We base our estimates on historical experience and on various
        other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates used.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Smaller Reporting Company</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, we may choose to prepare our disclosures relying on certain scaled
      disclosure requirements for smaller reporting companies in Regulation S-K and in Article 8 of Regulation S-X.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The scaled disclosure requirements for smaller reporting companies permit us (i) to include less extensive narrative disclosure than required of other
      reporting companies, particularly in the description of executive compensation in our proxy statement and (ii) to provide audited financial statements for two fiscal years in our Form 10-K, in contrast to other reporting companies, which must provide
      audited financial statements for three years.</div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="font-family: 'Times New Roman'; font-size: 10pt;"><br/>
      </span> </div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">We will cease to be a smaller reporting company if we have (i) equal to or greater than $250 million in market value of our shares held by non-affiliates as of the last
        business day of our second fiscal quarter and (ii) if the market value of our shares held by non-affiliates does not exceed $700 million as of the last business day of our second fiscal quarter, equal to or greater than $100 million in annual
        revenues for the most recent fiscal year.</span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DescriptionOfBusinessAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DescriptionOfBusinessAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<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_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259352464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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>Summary of significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Summary of significant accounting policies</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2. Summary of significant accounting policies</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Principles of consolidation: </span>The
      accompanying Consolidated Financial Statements include the audited Consolidated Financial Statements of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and
      unrealized profit. </div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Use of estimates</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) requires management to make
      estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements and the reported amounts of sales and
      expenses during the reporting period. Actual results could differ from those estimates.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Segment reporting</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">: </span>We apply the provisions of the Financial Accounting Standards Board (&#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;) 280, &#8220;Segment Reporting.&#8221;&#160; We view our operations and manage our
      business as one segment: the design, development and marketing of software-driven technology and printing solutions and providing printer
      and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#8217;s single operating segment include the organizational structure of the Company and the financial information available for evaluation by the chief
      operating decision-maker in making decisions about how to allocate resources and assess performance.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Cash and cash equivalents</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.</div>

<div><br/>
    </div>

<div style="text-align: justify;"><span style="font-weight: bold; font-style: italic; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; text-transform: none;">Accounts
          receivable and credit losses</span><span style="font-weight: normal; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">:&#160;The



          Company records accounts receivable when the right to consideration becomes unconditional. We establish an allowance for expected credit losses to ensure trade receivables are valued appropriately. </span> </div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">We are exposed to credit losses primarily through our net sales of products and services to our customers which are
        recorded as Accounts Receivable, net on the Consolidated Balance Sheets. We evaluate each customer&#8217;s ability to pay through assessing customer creditworthiness, historical experience and current economic conditions through a reasonable forecast
        period. Factors considered in our evaluation of assessing collectability and risk include: underlying value of any collateral or security interests, significant past due balances, historical losses and existing economic conditions including country
        and political risk. There can be no assurance that actual results will not differ from estimates or that consideration of these factors in the future will not result in an increase or decrease to the allowance for credit losses. We may require
        collateral or prepayment to mitigate credit risk.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">We estimate expected credit losses of financial assets with
          similar risk characteristics. We determine an asset is impaired when our assessment identifies there is a risk that we will be unable to collect amounts due according to the contractual terms of the agreement. We monitor our ongoing credit
          exposure through reviews of customer balances against contract terms and due dates, current economic conditions and dispute resolution. Estimated credit losses are written off in the period in which the financial asset is no longer collectible.</span><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"> </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"> <br/>
        </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">The
          following table summarizes the activity recorded in the allowance for expected credit losses related to accounts receivable:</span></div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Years Ended </span>December 31<span style="font-size: 10pt; font-family: 'Times New Roman';">,</span></div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">351</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">219</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additions charged to costs and expenses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">606</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">140</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deductions</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(189</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(8</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">768</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">351</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Inventories:</span> Inventories are stated at the lower of average cost
      or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on
      these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net realizable value.</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Effective April 1, 2022, TransAct changed its method of inventory valuation from standard costing which approximated the &#8220;first-in, first-out&#8221; (&#8220;FIFO&#8221;) costing
      methodology to the average costing methodology.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Fixed assets:</span> Fixed assets are stated at cost.&#160;
      Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is five years;
      machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&#160; Leasehold
      improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
      accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $1.3 and $1.1 million in 2023 and 2022, respectively.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Leases:</span> We account for leases in accordance with ASC 842, &#8220;Leases&#8221;
      (&#8220;ASC 842&#8221;), which requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines
      whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability
      for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the
      transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as operating.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for short-term leases. We
      have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing leases. We
      determine if an arrangement contains a lease at inception. Our leases are included in &#8220;Right-of-use assets&#8221; and &#8220;Lease liabilities&#8221; in our Consolidated Balance Sheets.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease
      payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">On April 26, 2022, we entered into an amendment to modify the expiration date of our lease on our Las Vegas, Nevada facility. The lease was set to expire
      on November 1, 2022 and the amendment extended the lease term to November 30, 2025. The lease amendment resulted in an increase to the right-of-use-asset and lease liability of $0.8 million. The lease amendment modified the base rent. <br/>
    </div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the Company determines
      its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our lease right of use
      asset excludes lease incentives. Our leases have remaining lease terms of one year to four years, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect
      only the options we are reasonably certain that we will exercise.</div>

<div><br/></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Goodwill and intangible assets</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> We acquire businesses in purchase transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible
      assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#8220;Goodwill,&#8221; acquired goodwill is not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that
      indicate it is more likely than not an impairment exists.&#160; We perform a fair value-based impairment test to the carrying value of goodwill and indefinite-lived intangible assets on an annual basis and, if certain events or circumstances indicate that
      an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with
      the applicable accounting standards. Under the qualitative assessment, management considers relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events
      directly affecting the Company. If the Company determines that the Step 1 quantitative impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#8217;s cash flow
      projections, and also evaluates the fair value using the market approach. Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, we have determined that no
      goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2023 when our annual review for impairment was performed.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Revenue recognition:</span> We account for revenue in
      accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or service to the customer. Some of our contracts with
      customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended warranties).&#160; A contract&#8217;s transaction price is
      allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring services to the
      customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in the transaction
      price utilizing either the &#8220;expected value&#8221; method or the &#8220;most likely amount&#8221; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable
      that a significant future reversal of cumulative revenue under the contract will not occur.</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes revenue as of a point of
      time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our casino and gaming market,
      EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is licensed to the customer, and
      a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#8217;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and formal acceptance by the
      customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer, as control of the
      product is transferred to the customer and our performance obligation is completed.</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the asset as it is
      being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support for our food
      service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion of
      EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
      the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract
      period.&#160; For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#8220;standalone selling price&#8221; method to
      determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
      discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
      approach.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected amortization period of
      the cost to obtain a contract is less than 12 months.</div>

<div><br/></div>

<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue
      and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31, 2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15,159</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,149</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">16,308</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,805</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">117</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,922</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">28,715</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,477</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">41,192</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,381</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">828</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,209</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net sales</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,060</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,571</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">72,631</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Year Ended </span>December 31, 2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">&#160;</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">11,602</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">762</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,364</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,657</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,659</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,686</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,343</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">30,029</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;<br/>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,089</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">998</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">5,087</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net sales</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">44,034</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,105</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,139</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
      </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Contract balances</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior to the customer
      being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included within
      &#8220;Accounts Receivable, net&#8221; and &#8220;Other Assets&#8221; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#8220;Accrued Liabilities&#8221; in current
      liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is complete.&#160;
      Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and prepaid
      software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract. During the year ended December 31, 2023, we recognized revenue of $1.4 million related to our contract liabilities as of December 31, 2022.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net contract (liabilities) assets consist of the following:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">145</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">392</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, non-current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">120</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">163</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Customer pre-payments</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(155</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(101</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,079</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,329</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, non-current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(209</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(143</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net contract (liabilities) assets</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,178</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,018</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>


</table>

<div><br/>
      </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Remaining performance obligations</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&#160; As
      of December 31, 2023, the aggregate amount of the transaction price allocated to remaining performance obligations was $8.2 million. The Company expects to recognize revenue on $7.9
      million of its remaining performance obligations within the next 12 months following December 31, 2023, $0.2 million within the next <span style="-sec-ix-hidden:Fact_3b3b217b82f14d0981e1911a0e683e9c">24</span> months
      following December 31, 2023 and the&#160;<span style="-sec-ix-hidden:Fact_fa4f9810fdc440e7a6f07a14288bd412">balance</span> of these remaining performance obligations within the next <span style="-sec-ix-hidden:Fact_bc0b117592ec4ae9a3df5220e7dbe1c8">36</span> months following December 31, 2023.</div>

<div>

    <br/></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Concentration of credit risk:</span>&#160; Financial
      instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Accounts receivable from customers representing 10% or more of total accounts receivable, net were as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International Gaming Technology (&#8220;IGT&#8221;)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The Bright Group</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">11</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Sales to customers representing 10% or more of total net sales were as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">IGT</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>

<div><br/>
      </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Engineering, design and product
        development:</span> Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed as a component
      of operating expenses as incurred.&#160; We recorded $9.4 million and $8.6 million of research and development expenses in 2023 and 2022, respectively.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Costs incurred in the engineering, design and product development of a computer software product are charged to expense until technological feasibility
      has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is required in determining
      when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs has been included in cost
      of sales over the estimated life of the product.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Advertising:</span> Advertising costs are expensed as incurred.&#160;
      Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations for 2023
      and 2022 totaled $1.7
      million and $3.1 million, respectively. These expenses include items such as consulting, professional services, tradeshows, and print
      advertising.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Income taxes:</span> The income tax amounts reflected in the
      accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#8220;Income Taxes&#8221; (&#8220;ASC 740&#8221;).&#160; Deferred tax assets and liabilities are recognized for the estimated future tax consequences
      attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are measured using
      enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent that we
      believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. </div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Foreign currency translation:</span> The financial
      position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars at the year-end exchange rate,
      related sales and expenses have been translated at the weighted average rate for the period, and shareholders&#8217; equity has been translated at historical exchange rates.&#160; The resulting translation gains or losses, net of tax, are recorded in
      shareholders&#8217; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related to intercompany balances, are recognized in
      Other, net on the Consolidated Statements of Operations.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Share-based payments:</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">&#160;</span>At December 31, 2023, we have share-based employee compensation plans,
      which are described more fully in Note 9 - Stock incentive plans. We account for those plans under the recognition and measurement principles of ASC 718, &#8220;Compensation &#8211; Stock Compensation.&#8221;&#160; Share-based compensation expense is measured at the grant
      date, based on the estimated fair value of the award, and is recognized as expense over the employee&#8217;s requisite service period.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this valuation method include
      the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in the determination of
      compensation expense.&#160; Forfeitures are recognized as they occur.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Net income (loss) per share</span>:</span> We report net income or loss per share in accordance with ASC 260, &#8220;Earnings per Share (EPS).&#8221; Under this guidance, basic EPS, which excludes dilution, is computed by dividing
      income or loss available to common shareholders by the weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were
      exercised or converted into common stock.&#160; Diluted EPS includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these
      instruments are excluded from the computation of diluted EPS.&#160; See Note 11 - Earnings per share.</div>

<div><br/>
    </div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="font-weight: bold; font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">Recently issued accounting pronouncements</span><span style="font-family: 'Times New Roman'; font-size: 10pt;">:</span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">In June 2016, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2016-13,&#160;<span style="font-style: italic;">Financial Instruments - Credit Losses
            (Topic 326): Measurement of Credit Losses on Financial Instruments</span>. This ASU and its related amendments (collectively, the &#8220;Credit Loss Standard&#8221;) modifies the impairment model to utilize an expected loss methodology in place of the
          incurred loss methodology for financial instruments, including trade receivables, contract assets and off-balance sheet credit exposures. The Credit Loss Standard requires consideration of a broader range of information to estimate expected
          credit losses, including historical information, current economic conditions and a reasonable forecast period. This Credit Loss Standard requires that the statement of operations reflect estimates of expected credit losses for newly recognized
          financial assets as well as changes in the estimate of expected credit losses that have taken place during the period, which may result in earlier recognition of certain losses. We adopted this standard effective January 1, 2023, and this
          standard did not have a material impact on the Company&#8217;s Consolidated Financial Statements.</span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;">&#160;</span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">On November 27, 2023, the FASB issued ASU 2023-07,&#160;<span style="font-style: italic;">Segment Reporting (Topic 280)</span>.&#160;


















          The amendments improve reportable segment disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single
          reportable segment and contain other disclosure requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements
          must be applied retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial
          Statements.</div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <span style="font-family: 'Times New Roman';"><br/>
          </span></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">On December 14, 2023, the FASB issued ASU 2023-09,</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">&#160;Income Taxes (Topic 740)</span><span style="font-size: 10pt; font-family: 'Times New Roman';">.&#160; This ASU requires the use of consistent categories and greater
              disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure requirements can be applied either prospectively or
              retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.</span></div>
<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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259352464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">3. Inventories</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of inventories are:</div>

<div><br/>
    </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%; margin-left: auto; margin-right: auto;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"> <br/>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;">Raw materials and purchased component parts</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,382</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,884</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Finished goods</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,377</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3,144</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,759</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,028</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260849856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fixed assets, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets, net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Fixed assets, net</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">4. Fixed assets, net</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of fixed assets, net are:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Tooling, machinery and equipment</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,562</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,859</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Furniture and office equipment</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,078</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,882</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Computer software and equipment</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,190</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,348</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Leasehold improvements</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,895</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,883</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">20,725</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">19,972</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;">Less: Accumulated depreciation and amortization</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(18,646</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(17,656</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,079</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,316</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Construction in-process</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">342</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">465</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,421</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,781</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2147480321/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/2147480321/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/2147480321/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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717264322816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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>Intangible assets, net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible assets, net</a></td>
<td class="text">
<div>
    <span style="font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">5. Intangible assets, net </span></div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:</span></div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left;">&#160;</div>
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross Amount</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated Amortization</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross Amount</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated Amortization</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Purchased technology</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,591</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,503</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,591</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,349</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Patents</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,606</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,518</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,606</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,364</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>


</table>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Amortization expense was $154 thousand and
      $155 thousand in 2023 and
      2022, respectively.&#160; Amortization expense for each of the next five years ending December 31 is expected to be as follows: $88 thousand in 2024; and none thereafter.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/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_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259344736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued liabilities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PayablesAndAccrualsAbstract', window );"><strong>Accrued liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accrued liabilities</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">6. Accrued liabilities</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of accrued liabilities are:</div>

<div style="text-align: left;"><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Salaries and compensation related</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3,455</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,744</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Taxes</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">870</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">530</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Professional and consulting</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">161</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">371</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">461</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">432</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,947</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,077</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 payable and accrued liabilities at the end of 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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258351072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement savings plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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>Retirement savings plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock', window );">Retirement savings plan</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">7. Retirement savings plan</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We maintain a 401(k) plan under which all full-time employees are eligible to participate at the beginning of the month immediately following their date
      of hire.&#160; We match employees&#8217; contributions at a rate of 50% of employees&#8217; contributions up to the first 6% of the employees&#8217; compensation contributed to the 401(k) plan.&#160; Our matching contributions, net of applied forfeitures, were $230 thousand and $355 thousand in 2023 and 2022, respectively.</div>
<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_CompensationAndEmployeeBenefitPlansTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit 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 710<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//710/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 712<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//712/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/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_CompensationAndEmployeeBenefitPlansTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_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>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258994832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Borrowings<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DebtDisclosureAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Borrowings</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">8. Borrowings</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold;">Credit Facility</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">On March 13, 2020, we entered into the Loan and Security Agreement governing the Siena Credit Facility with Siena Lending Group LLC (the &#8220;Lender&#8221;). The
      Siena Credit Facility provides for a revolving credit line of up to $10.0 million and was originally scheduled to expire on March 13, 2023. Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus 1.75%, (ii) the federal funds rate plus 2.25%,
      and (iii) 6.50%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $245 thousand. We also pay a fee of 0.50%
      on unused borrowings under the Siena Credit Facility. Borrowings under the Siena Credit Facility are secured by a lien on substantially all the assets of the Company. Borrowings under the Siena Credit Facility are subject to a borrowing base based on
      85% of eligible accounts receivable plus the lesser of (a) $5.0 million and (b) 50% of eligible raw material and 60% of finished goods inventory.</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur additional indebtedness
      and create other liens. On July 21, 2021, the Company entered into an amendment (&#8220;Siena Credit Facility Amendment No. 1&#8221;) to the Siena Credit Facility. Siena Credit Facility Amendment No. 1 changed the financial covenant under the Siena Credit
      Facility from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750
      thousand under the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ended July 31, 2021. From July 31, 2021 through December 31, 2023, we remained in compliance with our excess availability
      covenant.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">On July 19, 2022, the Company and the Lender entered into Amendment No. 2 (&#8220;Siena Credit Facility Amendment No. 2&#8221;) to the Siena Credit Facility as
      amended by Siena Credit Facility Amendment No. 1. Also on July 19, 2022, the Company and the Lender entered into an Amended and Restated Fee Letter (the &#8220;Amended Fee Letter&#8221;) in connection with Siena Credit Facility Amendment No. 2. Siena Credit
      Facility Amendment No. 2 did not modify the aggregate amount of the revolving commitment or the interest rate applicable to the loans.</div>

<div><br/></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The changes to the Siena Credit Facility provided for in Siena Credit Facility Amendment No. 2 include, among other things, the following:</div>

<div><br/>
    </div>

<div>
      <table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(i)</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The extension of the maturity date from March 13, 2023 to March 13, 2025; and</div>
            </td>

  </tr>


</table>
    </div>

<div><br/>
    </div>

<div>
      <table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(ii)</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The termination of the existing blocked account control agreement and entry into a new &#8220;springing&#8221; deposit account control agreement,
                permitting the Company to direct the use of funds in its deposit account until such time as (a) the sum of excess availability under the Siena Credit Facility and unrestricted cash is less than $5 million for 3 consecutive business days or (b) an
                event of default occurs and is continuing.</div>
            </td>

  </tr>


</table>
    </div>

<div style="display:none;"><br/></div>
<div style="text-align: justify; text-indent: -18pt; margin-left: 36pt;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">In addition, the Amended Fee Letter requires the Company, while it retains the ability to direct the use of funds in the deposit account, to maintain
      outstanding borrowings of at least $2,250,000 in principal amount. If the Company does not have the ability to direct the use of funds in
      the deposit account, then the Amended Fee Letter requires the Company to pay interest on at least $2,250,000 principal amount of loans,
      whether or not such amount of loans is actually outstanding.</div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On May 1, 2023, the Company and the Lender agreed to a letter amendment to the Loan and Security Agreement governing the Siena Credit Facility. Prior to such amendment,
      Section 7.1(m) of the Loan and Security Agreement governing the Siena Credit Facility required that any successor to the Company&#8217;s former Chief Executive Officer be reasonably acceptable to the Lender. This amendment confirmed that Mr. Dillon, the
      Company&#8217;s current Chief Executive Officer, is an acceptable successor, and applied the same requirement to any future successor to Mr. Dillon as Chief Executive Officer.</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, we had $2.3
      million of outstanding borrowings under the Siena Credit Facility and $5.9 million of net borrowing capacity available under the Siena
      Credit Facility.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 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 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(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: 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 4: 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 5: 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 6: 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 7: 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 8: 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 9: 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 10: 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 11: 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 12: 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 13: 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>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260339712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock incentive plans [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock incentive plans</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">9. Stock incentive plans</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Stock incentive plans</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">.</span>&#160; We currently have two stock incentive plans: the 2005 Equity
      Incentive Plan and the 2014 Equity Incentive Plan, which provide for awards to executives, key employees, directors and consultants.&#160; The plans generally provide for awards in the form of: (i) incentive stock options, (ii) non-qualified stock
      options, (iii) restricted stock, (iv) restricted stock units (which may include performance-based vesting), (v) stock appreciation rights or (vi) limited stock appreciation rights.&#160; Awards granted under these plans have exercise prices equal to 100% of the fair market value of the common stock at the date of grant.&#160; Awards granted have a ten-year term and generally vest over a two-year to four-year period, unless automatically accelerated for certain defined events.&#160; As of May 2014, no new awards may be made under the 2005 Equity Incentive
      Plan.&#160; Under our 2014 Equity Incentive Plan, as amended in May 2023, we are authorized to grant awards of up to 2,900,000 shares of
      TransAct common stock.&#160; At December 31, 2023, 981,769 shares of common stock remained available for issuance under the 2014 Equity Incentive Plan.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Under the assumptions indicated below, the weighted-average per share fair value of stock option grants for 2023 and 2022 was $4.16 and $4.39, respectively.&#160; We also issued restricted stock
      units for certain executives and directors that vest over a specified period of time, and in some instances require achieving certain performance metrics.&#160; The weighted-average per share fair value of these restricted stock units was $7.21 and $8.43 in 2023 and 2022, respectively.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The table below indicates the key assumptions (on a weighted-average basis) used in the option valuation calculations for options granted in 2023 and 2022 and a discussion of our
      methodology for developing each of the assumptions used in the valuation model:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expected option term (in years)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.1</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expected volatility</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">55.6</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">51.3</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Risk-free interest rate</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.2</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.2</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Dividend yield</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Expected Option Term</span> - This is the weighted
      average period of time over which the options granted are expected to remain outstanding giving consideration to our historical exercise patterns.&#160; Options granted have a maximum term of ten years and an increase in the expected term will increase compensation expense.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Expected Volatility</span> &#8211; The stock volatility
      for each grant is measured using the weighted average of historical daily price changes of our common stock over the most recent period approximately equal to the expected option term of the grant.&#160; An increase in the expected volatility factor will
      increase compensation expense.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Risk-Free Interest Rate</span> - This is the U.S.
      Treasury rate in effect at the time of grant having a term approximately equal to the expected term of the option.&#160; An increase in the risk-free interest rate will increase compensation expense.</div>

<div><br/></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Dividend Yield</span> &#8211;The dividend yield is
      calculated by dividing the annual dividend declared per common share by the weighted average market value of our common stock on the date of grant. An increase in the dividend yield will decrease compensation expense.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We recorded $0.9 and $1.2 million of share-based compensation expense for 2023
      and 2022, respectively, included primarily in general and administrative expense in our Consolidated Statements of Operations.&#160; We also
      recorded income tax benefits of $0.2 million in 2023 and $0.3 million in&#160;2022, related to such share-based compensation.&#160; At December 31,
      2023, these benefits are recorded as a deferred tax asset in the Consolidated Balance Sheets.</div>

<div style="text-align: left;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan, as amended, is summarized below:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock Options</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Restricted Stock Units</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Number of Shares</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> Average Price*</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Number of Units</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price**</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Outstanding at December 31, 2022</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,355,955</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9.08</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">214,286</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9.28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Granted</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">309,800</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6.91</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">210,100</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.21</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Exercised</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,875</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.25</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(58,705</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9.55</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Forfeited</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(271,655</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.72</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(181,145</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8.34</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expired</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(77,750</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8.90</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Outstanding at December 31, 2023</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,314,475</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8.82</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">184,536</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.76</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted average exercise price per share</div>
          </td>

  </tr>


</table>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted average grant stock price per share</div>
          </td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at December 31, 2023:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity Awards Vested and Expected to Vest</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity Awards That Are Exercisable</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Awards</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price*</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Aggregate Intrinsic Value</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining Term**</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Awards</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price*</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Aggregate Intrinsic Value</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining Term**</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock Options</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,314,475</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8.82</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">316</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.0</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">968,972</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9.31</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">167</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.2</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 20%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Restricted stock units</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">184,536</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,288</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.7</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted average exercise price per share</div>
          </td>

  </tr>


</table>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted-average contractual remaining term in years</div>
          </td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Shares that are issued upon exercise of employee stock awards are newly issued shares and not issued from treasury stock.&#160; As of December 31, 2023, unrecognized compensation cost related to non-vested equity awards granted under our stock incentive plans is approximately $4.1 million, which is expected to be recognized over a weighted average period of 3.3 years.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The total fair value of awards vested was $1.3
      million and $1.6 million during the years ended December 31, 2023 and 2022, respectively.&#160; The total intrinsic value (which
      is the amount by which the stock price exceeded the exercise price on the date of exercise) of stock options exercised during the years ended December 31, 2023
      and 2022 was $3 thousand
      and $40 thousand, respectively, and cash received from option exercises was zero in both 2023 and 2022. 1,875 and 17,500 stock options were exercised during the year ended December 31, 2023 and 2022, respectively.&#160; We recorded a realized tax provision in 2023 and 2022 from equity-based awards
      of zero and $13 thousand,
      respectively, related to options exercised.</div>
<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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717262497728">
<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, 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 [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income taxes</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">10. Income taxes</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of the income tax expense (benefit) are as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Current:</div>
          </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">149</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">51</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">110</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">85</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(83</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">135</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">176</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">825</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,924</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">132</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(217</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">63</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,020</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(2,141</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Income tax expense (benefit)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,155</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,965</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>


</table>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"> <br/>
      </span></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);">Our effective tax rates were </span>19.6%<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"> and (</span>24.9%<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);">) for </span>2023<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"> and </span>2022<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);">, respectively.&#160; The tax benefit recorded for 2022 includes the recognition of stock option
        cancellations for which no benefit was realized</span>.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">At December 31, 2023, we have no federal net operating loss carryforwards, $0.1
      million of tax-effected state net operating loss carryforwards, $0.7 million in R&amp;D credit carryforwards, and no state tax credit carryforwards.&#160; Foreign income before taxes were $322 thousand and $24 thousand in 2023 and 2022, respectively.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated Financial Statements.&#160; Our
      deferred tax assets and liabilities were comprised of the following:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax assets:</div>
          </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal net operating losses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,297</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign net operating losses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">733</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">676</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State net operating losses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">84</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">149</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accrued severance</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">165</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Capitalized R&amp;D expenses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3,127</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,708</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Inventory reserves</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">896</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">648</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">31</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">41</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Warranty reserve</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock compensation expense</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">790</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">769</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other accrued compensation</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">404</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">222</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">R&amp;D credit carryforward</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">695</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,238</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="margin-left: 9pt; text-indent: 0pt;">Other Assets<br/>
            </div>
          </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">360</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#8211;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other liabilities and reserves</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">463</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross deferred tax assets</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,309</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,228</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Valuation allowance</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(719</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(656</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -18pt; margin-left: 45pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net deferred tax assets</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,590</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,572</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax liabilities:</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Depreciation and amortization<br/>
              </div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">237</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">196</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">49</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">49</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net deferred tax liabilities</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">286</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">245</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net deferred tax assets</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,304</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,327</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
      </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023 and 2022, we had a $719 thousand and $656 thousand,
      respectively, of valuation allowances on our net operating loss carryforwards. The following table summarizes the activity recorded in the valuation allowance on the deferred tax assets:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">656</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">733</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Subtractions released to income tax provisions</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(77</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additions charged to income tax provision</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">63</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">719</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">656</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"><br/>
        </span> </div>

<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span>
      <span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:</span></div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal statutory rate</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">21.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">21.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">R&amp;D credit</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(5.9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.3</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">Foreign-derived intangible income deduction <br/>
          </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">(1.7</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#8211;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock award excess tax benefit</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.4</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State income taxes, net of federal income taxes</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.5</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.1</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Business meals and entertainment</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.3</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Executive compensation limitation</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.6</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Uncertain tax positions</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.5</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.5</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock option cancellations</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.6</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1.9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Valuation allowance and tax accruals</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.3</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.1</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Effective tax rate</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">19.6</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">24.9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">We had $197 thousand and $142 thousand of total gross unrecognized tax benefits at December 31, 2023
      and 2022, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not
      aware of any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning
      and end of the year is as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">142</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">144</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Tax positions taken during the current period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">83</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">26</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Lapse of statute of limitations</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">197</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">142</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We expect $40 thousand of the $197 thousand of unrecognized tax benefits will reverse in 2024
      upon the expiration of the statute of limitations.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We recognize interest and penalties related to uncertain tax positions in the income tax provision.&#160; We have accrued interest and penalties related to
      uncertain tax positions of $25 thousand and $34
      thousand as of December 31, 2023 and 2022,
      respectively.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We are subject to U.S. federal income tax as well as income tax of certain state and foreign jurisdictions.&#160; We have substantially concluded all U.S.
      federal income tax, state and local, and foreign tax matters through 2019.&#160; However, our federal tax returns for the years 2020 through 2023 remain open to examination. Various state and foreign tax jurisdiction tax years remain open to examination
      as well, though we believe that any additional assessment would be immaterial to the Consolidated Financial Statements.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717347544624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings per share</a></td>
<td class="text">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">11. Earnings per share</div>

<div><br/>
    </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Earnings per share was computed as follows (in thousands, except per share amounts):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,748</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(5,936</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Shares:</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,951</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,905</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock method</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">70</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,021</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,905</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss) per common share:</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.48</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.60</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.47</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.60</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>


</table>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, restricted stock
      units and performance stock awards, when the average market price of the common stock is lower than the exercise price of the related stock award during the period.&#160; These outstanding stock awards are not included in the computation of diluted
      earnings per share because the effect would be anti-dilutive.&#160; Furthermore, in periods when a net loss is reported, such as in 2022, basic and diluted net loss per common share are calculated using the same method.&#160; Anti-dilutive stock awards
      excluded from the computation of earnings per dilutive share were 1.1 million and 1.5 million at December 31, 2023 and 2022, respectively.</div>
<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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717262497728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock repurchase program<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EquityAbstract', window );"><strong>Stock repurchase program [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockTextBlock', window );">Stock repurchase program</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">12. Stock repurchase program</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We use the cost method to account for treasury stock purchases, under which the price paid for the stock is charged to the treasury stock account.&#160;
      Repurchases of our common stock are accounted for as of the settlement date.&#160; During 2023 and 2022, we did not repurchase any shares of our common stock.&#160;
      From January 1, 2005 through December 31, 2019, we repurchased a total of 4,044,842 shares of common stock for $32.1 million, at an average price of $7.94
      per share.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of 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> -Topic 505<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505-30/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_TreasuryStockTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717349077328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Geographic area information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Geographic area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Geographic area information</a></td>
<td class="text">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">13. Geographic area information</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are based on the
      location of the customer and asset.</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales:</div>
          </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,060</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">44,034</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,571</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,105</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">72,631</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,139</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Fixed assets, net:</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">945</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,252</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,476</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">529</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,421</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,781</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div> <br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Sales to international customers were 20%
      and 24% of total sales in 2023
      and 2022, respectively.&#160; Sales to Europe represented 64% and 68%, sales to the Pacific Rim (which includes Australia and Asia) represented 29% and 28%, and sales to Canada
      represented 4%&#160; of total international sales in both 2023 and 2022, respectively.&#160; International long-lived assets consist of net fixed assets located at
      our foreign subsidiary in the UK, as well as our contract manufacturer in Thailand.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<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 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/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 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<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 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<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 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<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 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<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 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<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 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<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 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717261139344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">14. Leases</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">Operating lease expense was $</span>1.1 million and $1.0<span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"> million for the years ended December 31, </span>2023<span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"> and </span>2022<span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">,
        respectively, and is reported as </span>&#8220;Cost of sales,&#8221; &#8220;Engineering, design and product development expense,&#8221; &#8220;Selling and marketing expense,&#8221; and &#8220;General and administrative expense&#8221; in the Consolidated Statements of Operations.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">Operating costs include short-term lease costs.</span></div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Operating cash outflows from leases</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,013</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">967</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
      </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes additional information related to our leases:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.7</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.7</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average discount rate</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.4</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.5</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
          </td>

  </tr>


</table>

<div><br/>
      </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities are as follows (in thousands):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31, 2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">985</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2025</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">713</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2026</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">22</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total undiscounted lease payments</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,720</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Less imputed interest</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">71</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%; padding-bottom: 4px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total lease liabilities</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,649</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258999104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly results of operations (unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly results of operations (unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Quarterly results of operations (unaudited)</a></td>
<td class="text">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">15. Quarterly results of operations (unaudited)</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Our quarterly results of operations for 2023
      and 2022 are as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Quarter Ended</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands, except per share amounts)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">March 31</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">June 30</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">September 30</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023:</div>
          </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">22,270</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">19,906</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,190</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">13,265</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,255</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,858</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,916</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,371</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3,139</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">765</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">906</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(62</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss) per common share:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.32</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.08</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.09</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.01</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.31</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.08</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.09</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.01</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022:</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,702</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,623</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,856</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,958</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,566</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">5,434</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,193</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,219</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(4,348</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(2,376</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">528</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">260</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income per common share:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.44</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.24</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.05</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.03</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.44</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.24</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.05</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.03</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482964/270-10-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 270<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//270/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_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260913488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related party transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_RelatedPartyTransactionsAbstract', window );"><strong>Related party transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related party transactions</a></td>
<td class="text">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-weight: bold;">16. Related party transactions</div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial;"><br/>
      </div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">One of the Company&#8217;s directors serves as President and Chief Executive Officer of The One Group Hospitality, Inc.&#160; The
        Company sold various food service technology products to The One Group Hospitality, Inc. on an arms&#8217; length basis totaling $246 thousand
        and $37 thousand in 2023 and 2022, respectively.&#160; The Company&#8217;s accounts receivable from The One Group Hospitality, Inc. amounted to $34 thousand and $4 thousand in 2023 and
        2022, respectively.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-6<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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<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/2147483326/850-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 8: 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(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<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 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<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/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<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/2147483326/850-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_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717263248688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_SubsequentEventsAbstract', window );"><strong>Subsequent events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent events</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">17. Subsequent events</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Company has evaluated all events or transactions that occurred up to the date the consolidated financial statements were available to issue.&#160; Based upon this review,
      the Company did not identify any subsequent events that would have required adjustment or disclosure in the consolidated financial statements.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717254876576">
<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, 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_InsiderTradingArrLineItems', window );"><strong>Insider Trading Arrangements [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_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_InsiderTradingArrLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_InsiderTradingArrLineItems</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_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>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717254582480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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>Summary of significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of consolidation</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Principles of consolidation: </span>The
      accompanying Consolidated Financial Statements include the audited Consolidated Financial Statements of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and
      unrealized profit. </div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Use of estimates</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) requires management to make
      estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements and the reported amounts of sales and
      expenses during the reporting period. Actual results could differ from those estimates.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment reporting</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Segment reporting</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">: </span>We apply the provisions of the Financial Accounting Standards Board (&#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;) 280, &#8220;Segment Reporting.&#8221;&#160; We view our operations and manage our
      business as one segment: the design, development and marketing of software-driven technology and printing solutions and providing printer
      and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#8217;s single operating segment include the organizational structure of the Company and the financial information available for evaluation by the chief
      operating decision-maker in making decisions about how to allocate resources and assess performance.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Cash and cash equivalents</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts receivable and credit losses</a></td>
<td class="text">
<div style="text-align: justify;"><span style="font-weight: bold; font-style: italic; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; text-transform: none;">Accounts
          receivable and credit losses</span><span style="font-weight: normal; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">:&#160;The



          Company records accounts receivable when the right to consideration becomes unconditional. We establish an allowance for expected credit losses to ensure trade receivables are valued appropriately. </span> </div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">We are exposed to credit losses primarily through our net sales of products and services to our customers which are
        recorded as Accounts Receivable, net on the Consolidated Balance Sheets. We evaluate each customer&#8217;s ability to pay through assessing customer creditworthiness, historical experience and current economic conditions through a reasonable forecast
        period. Factors considered in our evaluation of assessing collectability and risk include: underlying value of any collateral or security interests, significant past due balances, historical losses and existing economic conditions including country
        and political risk. There can be no assurance that actual results will not differ from estimates or that consideration of these factors in the future will not result in an increase or decrease to the allowance for credit losses. We may require
        collateral or prepayment to mitigate credit risk.</div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <span style="font-size: 10pt; font-family: 'Times New Roman';"><br/>
        </span> </div>

<div><span style="font-size: 10pt; font-family: 'Times New Roman';"> </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">We estimate expected credit losses of financial assets with
          similar risk characteristics. We determine an asset is impaired when our assessment identifies there is a risk that we will be unable to collect amounts due according to the contractual terms of the agreement. We monitor our ongoing credit
          exposure through reviews of customer balances against contract terms and due dates, current economic conditions and dispute resolution. Estimated credit losses are written off in the period in which the financial asset is no longer collectible.</span><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"> </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"> <br/>
        </span></div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">The
          following table summarizes the activity recorded in the allowance for expected credit losses related to accounts receivable:</span></div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Years Ended </span>December 31<span style="font-size: 10pt; font-family: 'Times New Roman';">,</span></div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">351</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">219</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additions charged to costs and expenses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">606</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">140</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deductions</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(189</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(8</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">768</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">351</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Inventories:</span> Inventories are stated at the lower of average cost
      or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on
      these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net realizable value.</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Effective April 1, 2022, TransAct changed its method of inventory valuation from standard costing which approximated the &#8220;first-in, first-out&#8221; (&#8220;FIFO&#8221;) costing
      methodology to the average costing methodology.</div>
<span></span>
</td>
</tr>
<tr class="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 );">Fixed assets</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Fixed assets:</span> Fixed assets are stated at cost.&#160;
      Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is five years;
      machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&#160; Leasehold
      improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
      accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $1.3 and $1.1 million in 2023 and 2022, respectively.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Leases:</span> We account for leases in accordance with ASC 842, &#8220;Leases&#8221;
      (&#8220;ASC 842&#8221;), which requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines
      whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability
      for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the
      transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as operating.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for short-term leases. We
      have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing leases. We
      determine if an arrangement contains a lease at inception. Our leases are included in &#8220;Right-of-use assets&#8221; and &#8220;Lease liabilities&#8221; in our Consolidated Balance Sheets.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease
      payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">On April 26, 2022, we entered into an amendment to modify the expiration date of our lease on our Las Vegas, Nevada facility. The lease was set to expire
      on November 1, 2022 and the amendment extended the lease term to November 30, 2025. The lease amendment resulted in an increase to the right-of-use-asset and lease liability of $0.8 million. The lease amendment modified the base rent. <br/>
    </div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the Company determines
      its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our lease right of use
      asset excludes lease incentives. Our leases have remaining lease terms of one year to four years, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect
      only the options we are reasonably certain that we will exercise.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and intangible assets</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Goodwill and intangible assets</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">:</span> We acquire businesses in purchase transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible
      assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#8220;Goodwill,&#8221; acquired goodwill is not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that
      indicate it is more likely than not an impairment exists.&#160; We perform a fair value-based impairment test to the carrying value of goodwill and indefinite-lived intangible assets on an annual basis and, if certain events or circumstances indicate that
      an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with
      the applicable accounting standards. Under the qualitative assessment, management considers relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events
      directly affecting the Company. If the Company determines that the Step 1 quantitative impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#8217;s cash flow
      projections, and also evaluates the fair value using the market approach. Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023, we have determined that no
      goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2023 when our annual review for impairment was performed.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Revenue recognition:</span> We account for revenue in
      accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or service to the customer. Some of our contracts with
      customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended warranties).&#160; A contract&#8217;s transaction price is
      allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring services to the
      customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in the transaction
      price utilizing either the &#8220;expected value&#8221; method or the &#8220;most likely amount&#8221; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it is probable
      that a significant future reversal of cumulative revenue under the contract will not occur.</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes revenue as of a point of
      time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our casino and gaming market,
      EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is licensed to the customer, and
      a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#8217;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and formal acceptance by the
      customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer, as control of the
      product is transferred to the customer and our performance obligation is completed.</div>

<div style="text-align: justify;"><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the asset as it is
      being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support for our food
      service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion of
      EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
      the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract
      period.&#160; For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#8220;standalone selling price&#8221; method to
      determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
      discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
      approach.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected amortization period of
      the cost to obtain a contract is less than 12 months.</div>

<div><br/></div>

<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue
      and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31, 2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15,159</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,149</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">16,308</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,805</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">117</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,922</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">28,715</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,477</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">41,192</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,381</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">828</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,209</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net sales</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,060</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,571</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">72,631</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Year Ended </span>December 31, 2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">&#160;</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">11,602</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">762</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,364</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,657</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,659</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,686</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,343</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">30,029</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;<br/>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,089</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">998</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">5,087</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net sales</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">44,034</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,105</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,139</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
      </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Contract balances</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior to the customer
      being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included within
      &#8220;Accounts Receivable, net&#8221; and &#8220;Other Assets&#8221; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#8220;Accrued Liabilities&#8221; in current
      liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is complete.&#160;
      Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and prepaid
      software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract. During the year ended December 31, 2023, we recognized revenue of $1.4 million related to our contract liabilities as of December 31, 2022.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net contract (liabilities) assets consist of the following:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">145</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">392</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, non-current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">120</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">163</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Customer pre-payments</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(155</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(101</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,079</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,329</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, non-current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(209</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(143</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net contract (liabilities) assets</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,178</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,018</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>


</table>

<div><br/>
      </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Remaining performance obligations</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&#160; As
      of December 31, 2023, the aggregate amount of the transaction price allocated to remaining performance obligations was $8.2 million. The Company expects to recognize revenue on $7.9
      million of its remaining performance obligations within the next 12 months following December 31, 2023, $0.2 million within the next <span style="-sec-ix-hidden:Fact_3b3b217b82f14d0981e1911a0e683e9c">24</span> months
      following December 31, 2023 and the&#160;<span style="-sec-ix-hidden:Fact_fa4f9810fdc440e7a6f07a14288bd412">balance</span> of these remaining performance obligations within the next <span style="-sec-ix-hidden:Fact_bc0b117592ec4ae9a3df5220e7dbe1c8">36</span> months following December 31, 2023.</div>
<span></span>
</td>
</tr>
<tr class="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">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Concentration of credit risk:</span>&#160; Financial
      instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Accounts receivable from customers representing 10% or more of total accounts receivable, net were as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International Gaming Technology (&#8220;IGT&#8221;)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The Bright Group</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">11</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Sales to customers representing 10% or more of total net sales were as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">IGT</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </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_ResearchAndDevelopmentExpensePolicy', window );">Engineering, design and product development</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Engineering, design and product
        development:</span> Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed as a component
      of operating expenses as incurred.&#160; We recorded $9.4 million and $8.6 million of research and development expenses in 2023 and 2022, respectively.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Costs incurred in the engineering, design and product development of a computer software product are charged to expense until technological feasibility
      has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is required in determining
      when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs has been included in cost
      of sales over the estimated life of the product.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Advertising:</span> Advertising costs are expensed as incurred.&#160;
      Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations for 2023
      and 2022 totaled $1.7
      million and $3.1 million, respectively. These expenses include items such as consulting, professional services, tradeshows, and print
      advertising.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Income taxes:</span> The income tax amounts reflected in the
      accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#8220;Income Taxes&#8221; (&#8220;ASC 740&#8221;).&#160; Deferred tax assets and liabilities are recognized for the estimated future tax consequences
      attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are measured using
      enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent that we
      believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. </div>
<span></span>
</td>
</tr>
<tr class="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">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Foreign currency translation:</span> The financial
      position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars at the year-end exchange rate,
      related sales and expenses have been translated at the weighted average rate for the period, and shareholders&#8217; equity has been translated at historical exchange rates.&#160; The resulting translation gains or losses, net of tax, are recorded in
      shareholders&#8217; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related to intercompany balances, are recognized in
      Other, net on the Consolidated Statements of Operations.</div>
<span></span>
</td>
</tr>
<tr class="re">
<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 );">Share-based payments</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;">Share-based payments:</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">&#160;</span>At December 31, 2023, we have share-based employee compensation plans,
      which are described more fully in Note 9 - Stock incentive plans. We account for those plans under the recognition and measurement principles of ASC 718, &#8220;Compensation &#8211; Stock Compensation.&#8221;&#160; Share-based compensation expense is measured at the grant
      date, based on the estimated fair value of the award, and is recognized as expense over the employee&#8217;s requisite service period.</div>

<div><br/>
    </div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this valuation method include
      the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in the determination of
      compensation expense.&#160; Forfeitures are recognized as they occur.</div>
<span></span>
</td>
</tr>
<tr class="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 );">Net income (loss) per share</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Net income (loss) per share</span>:</span> We report net income or loss per share in accordance with ASC 260, &#8220;Earnings per Share (EPS).&#8221; Under this guidance, basic EPS, which excludes dilution, is computed by dividing
      income or loss available to common shareholders by the weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were
      exercised or converted into common stock.&#160; Diluted EPS includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these
      instruments are excluded from the computation of diluted EPS.&#160; See Note 11 - Earnings per share.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently issued accounting pronouncements</a></td>
<td class="text">
<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="font-weight: bold; font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;">Recently issued accounting pronouncements</span><span style="font-family: 'Times New Roman'; font-size: 10pt;">:</span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"><span style="font-family: 'Times New Roman'; font-size: 10pt;">In June 2016, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2016-13,&#160;<span style="font-style: italic;">Financial Instruments - Credit Losses
            (Topic 326): Measurement of Credit Losses on Financial Instruments</span>. This ASU and its related amendments (collectively, the &#8220;Credit Loss Standard&#8221;) modifies the impairment model to utilize an expected loss methodology in place of the
          incurred loss methodology for financial instruments, including trade receivables, contract assets and off-balance sheet credit exposures. The Credit Loss Standard requires consideration of a broader range of information to estimate expected
          credit losses, including historical information, current economic conditions and a reasonable forecast period. This Credit Loss Standard requires that the statement of operations reflect estimates of expected credit losses for newly recognized
          financial assets as well as changes in the estimate of expected credit losses that have taken place during the period, which may result in earlier recognition of certain losses. We adopted this standard effective January 1, 2023, and this
          standard did not have a material impact on the Company&#8217;s Consolidated Financial Statements.</span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;"> </span></div>

<div><span style="font-family: 'Times New Roman'; font-size: 10pt;">&#160;</span></div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;">On November 27, 2023, the FASB issued ASU 2023-07,&#160;<span style="font-style: italic;">Segment Reporting (Topic 280)</span>.&#160;


















          The amendments improve reportable segment disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single
          reportable segment and contain other disclosure requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements
          must be applied retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial
          Statements.</div>

<div style="display:none;"><br/></div>
<div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"> <span style="font-family: 'Times New Roman';"><br/>
          </span></div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">On December 14, 2023, the FASB issued ASU 2023-09,</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">&#160;Income Taxes (Topic 740)</span><span style="font-size: 10pt; font-family: 'Times New Roman';">.&#160; This ASU requires the use of consistent categories and greater
              disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure requirements can be applied either prospectively or
              retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.</span></div>
<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_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 advertising 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-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_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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/2147480981/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_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://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 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 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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-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 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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 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 2: 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 3: 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 4: 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 5: 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 6: 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 7: 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><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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2147479440/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/2147480321/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/2147480321/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_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs it has 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483044/730-10-05-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 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_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segment reporting.</p></div>
<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 (b)<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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<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 29<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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)(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 (f)(2)(ii)<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)(v)<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 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 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.D.1.Q5)<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.3.Q2)<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.2.Q6)<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> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<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 (b)<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 (f)(1)<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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<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 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<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/2147481962/310-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-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_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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259434368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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>Summary of significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock', window );">Allowance for Expected Credit Losses</a></td>
<td class="text">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"><span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">The
          following table summarizes the activity recorded in the allowance for expected credit losses related to accounts receivable:</span></div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Years Ended </span>December 31<span style="font-size: 10pt; font-family: 'Times New Roman';">,</span></div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">351</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">219</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additions charged to costs and expenses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">606</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">140</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deductions</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(189</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(8</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">768</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">351</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>

<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue
      and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31, 2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15,159</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,149</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">16,308</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,805</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">117</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,922</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">28,715</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,477</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">41,192</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,381</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">828</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,209</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net sales</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,060</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,571</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">72,631</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">Year Ended </span>December 31, 2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">&#160;</span><span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">11,602</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">762</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,364</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,657</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,659</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,686</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,343</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">30,029</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;<br/>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,089</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">998</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">5,087</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net sales</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">44,034</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,105</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,139</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Net Contract (Liabilities) Assets</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net contract (liabilities) assets consist of the following:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;">(In thousands)</span></div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">145</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">392</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, non-current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">120</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">163</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Customer pre-payments</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(155</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(101</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,079</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,329</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, non-current</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(209</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(143</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net contract (liabilities) assets</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,178</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,018</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Concentration of Credit Risk</a></td>
<td class="text">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Accounts receivable from customers representing 10% or more of total accounts receivable, net were as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">
              <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International Gaming Technology (&#8220;IGT&#8221;)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The Bright Group</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">11</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Sales to customers representing 10% or more of total net sales were as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">IGT</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of financing receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)<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_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</p></div>
<a href="javascript: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 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 3: 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 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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<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 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-16<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717261025520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of inventories are:</div>

<div><br/>
    </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%; margin-left: auto; margin-right: auto;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"> <br/>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;">Raw materials and purchased component parts</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,382</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,884</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Finished goods</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,377</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3,144</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,759</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,028</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717263275872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fixed assets, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets, net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Fixed Assets, Net</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of fixed assets, net are:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Tooling, machinery and equipment</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,562</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,859</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Furniture and office equipment</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,078</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,882</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Computer software and equipment</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,190</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,348</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Leasehold improvements</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,895</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,883</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">20,725</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">19,972</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;">Less: Accumulated depreciation and amortization</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(18,646</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(17,656</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,079</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,316</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Construction in-process</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">342</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">465</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,421</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,781</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717263320528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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>Intangible assets, net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Identifiable Intangible Assets</a></td>
<td class="text">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:</span></div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left;">&#160;</div>
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross Amount</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated Amortization</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross Amount</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated Amortization</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Purchased technology</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,591</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,503</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,591</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,349</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Patents</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,606</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,518</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,606</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,364</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<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>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260522928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PayablesAndAccrualsAbstract', window );"><strong>Accrued liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Accrued Liabilities</a></td>
<td class="text">
<div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of accrued liabilities are:</div>

<div style="text-align: left;"><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Salaries and compensation related</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3,455</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,744</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Taxes</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">870</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">530</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Professional and consulting</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">161</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">371</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">461</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">432</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,947</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,077</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260504672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock incentive plans [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Assumptions Used in Option Valuation Calculations</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The table below indicates the key assumptions (on a weighted-average basis) used in the option valuation calculations for options granted in 2023 and 2022 and a discussion of our
      methodology for developing each of the assumptions used in the valuation model:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expected option term (in years)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.1</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expected volatility</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">55.6</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">51.3</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Risk-free interest rate</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.2</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.2</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Dividend yield</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Stock Option Activity</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan, as amended, is summarized below:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock Options</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Restricted Stock Units</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Number of Shares</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"> Average Price*</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Number of Units</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price**</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Outstanding at December 31, 2022</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,355,955</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9.08</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">214,286</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9.28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Granted</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">309,800</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6.91</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">210,100</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.21</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Exercised</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,875</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.25</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(58,705</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9.55</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Forfeited</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(271,655</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.72</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(181,145</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8.34</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Expired</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(77,750</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8.90</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Outstanding at December 31, 2023</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,314,475</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8.82</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">184,536</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7.76</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted average exercise price per share</div>
          </td>

  </tr>


</table>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted average grant stock price per share</div>
          </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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock', window );">Equity Awards Vested and Expected to Vest</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at December 31, 2023:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity Awards Vested and Expected to Vest</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Equity Awards That Are Exercisable</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Awards</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price*</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Aggregate Intrinsic Value</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining Term**</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Awards</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Average Price*</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Aggregate Intrinsic Value</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Remaining Term**</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock Options</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,314,475</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8.82</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">316</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.0</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">968,972</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9.31</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">167</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.2</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 20%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Restricted stock units</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">184,536</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,288</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.7</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted average exercise price per share</div>
          </td>

  </tr>


</table>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">weighted-average contractual remaining term in years</div>
          </td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. 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://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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257588688">
<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, 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 [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Components of Income Tax Expense (Benefit)</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The components of the income tax expense (benefit) are as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Current:</div>
          </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">149</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">51</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">110</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">85</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(83</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">135</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">176</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">825</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,924</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">132</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(217</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">63</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,020</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(2,141</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Income tax expense (benefit)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,155</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1,965</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Deferred Tax Assets and Liabilities</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated Financial Statements.&#160; Our
      deferred tax assets and liabilities were comprised of the following:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax assets:</div>
          </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal net operating losses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,297</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Foreign net operating losses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">733</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">676</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State net operating losses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">84</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">149</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Accrued severance</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">165</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Capitalized R&amp;D expenses</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3,127</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,708</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Inventory reserves</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">896</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">648</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">31</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">41</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Warranty reserve</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock compensation expense</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">790</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">769</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other accrued compensation</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">404</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">222</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">R&amp;D credit carryforward</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">695</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,238</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="margin-left: 9pt; text-indent: 0pt;">Other Assets<br/>
            </div>
          </td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">360</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#8211;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other liabilities and reserves</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">463</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross deferred tax assets</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,309</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,228</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Valuation allowance</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(719</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(656</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -18pt; margin-left: 45pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net deferred tax assets</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,590</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,572</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax liabilities:</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Depreciation and amortization<br/>
              </div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">237</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">196</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">49</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">49</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net deferred tax liabilities</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">286</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">245</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total net deferred tax assets</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,304</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">7,327</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SummaryOfValuationAllowanceTextBlock', window );">Valuation Allowance on Deferred Tax Assets</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">As of December 31, 2023 and 2022, we had a $719 thousand and $656 thousand,
      respectively, of valuation allowances on our net operating loss carryforwards. The following table summarizes the activity recorded in the valuation allowance on the deferred tax assets:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">656</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">733</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Subtractions released to income tax provisions</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(77</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Additions charged to income tax provision</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">63</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">719</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">656</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Statutory to Effective Tax Rate Reconciliation</a></td>
<td class="text">
<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span>
      <span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:</span></div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Year Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Federal statutory rate</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">21.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">21.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">R&amp;D credit</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(5.9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.3</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">Foreign-derived intangible income deduction <br/>
          </td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">(1.7</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">)</td>

    <td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#8211;</td>

    <td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock award excess tax benefit</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.4</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">State income taxes, net of federal income taxes</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.5</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.1</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Business meals and entertainment</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.3</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Executive compensation limitation</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.6</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Uncertain tax positions</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.5</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.5</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Stock option cancellations</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.6</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(1.9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Valuation allowance and tax accruals</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.0</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Other</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.3</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.1</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Effective tax rate</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">19.6</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">24.9</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </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_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock', window );">Unrecognized Tax Benefits</a></td>
<td class="text">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">We had $197 thousand and $142 thousand of total gross unrecognized tax benefits at December 31, 2023
      and 2022, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not
      aware of any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning
      and end of the year is as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">142</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">144</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Tax positions taken during the current period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">83</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">26</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Lapse of statute of limitations</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(28</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">197</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">142</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<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_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unrecognized tax benefits for which a material change is reasonably possible in the next twelve months, typically including the nature of the uncertainty, the event(s) that could cause a material change, and an estimate of the range of the reasonably possible change or a statement that an estimate of the range cannot be made. An unrecognized tax benefit is the difference between a tax position taken in a tax return and the amounts recognized in the financial statements for which it is more likely than not, based on the technical merits of the position, that the tax position will not be sustained upon examination.</p></div>
<a href="javascript: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 740<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/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_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_SummaryOfValuationAllowanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.</p></div>
<a href="javascript: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 740<br> -SubTopic 10<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_SummaryOfValuationAllowanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257991152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Earnings per Share</a></td>
<td class="text">
<div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;">Earnings per share was computed as follows (in thousands, except per share amounts):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4,748</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(5,936</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Shares:</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,951</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,905</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock method</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">70</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,021</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,905</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss) per common share:</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.48</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.60</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.47</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"></div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.60</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260276608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Geographic area information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Geographic area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Net Sales and Fixed Assets by Geographic Area</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are based on the
      location of the customer and asset.</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales:</div>
          </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,060</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">44,034</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,571</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">14,105</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">72,631</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">58,139</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Fixed assets, net:</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">945</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,252</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,476</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">529</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,421</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,781</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259243568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock', window );">Cash Flows for Operating Leases</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Operating cash outflows from leases</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,013</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">967</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock', window );">Additional Information Related to Leases</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes additional information related to our leases:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Years Ended December 31,</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1.7</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2.7</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average discount rate</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.4</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">4.5</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">%</div>
          </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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Maturity of Operating Lease Liabilities</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities are as follows (in thousands):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31, 2023</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">985</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2025</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">713</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2026</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">22</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total undiscounted lease payments</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,720</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Less imputed interest</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">71</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 88%; padding-bottom: 4px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Total lease liabilities</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
            <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">1,649</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information related to lessee's operating leases, including weighted average lease term and discount rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of supplemental information for the statement of cash flows related to operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260271424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly results of operations (unaudited) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly results of operations (unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Quarterly Results of Operations</a></td>
<td class="text">
<div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Our quarterly results of operations for 2023
      and 2022 are as follows:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Quarter Ended</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
            <div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands, except per share amounts)</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">March 31</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">June 30</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">September 30</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">December 31</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2023:</div>
          </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">22,270</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">19,906</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,190</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">13,265</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,255</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">10,858</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,916</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">6,371</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">3,139</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">765</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">906</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(62</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net income (loss) per common share:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.32</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.08</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.09</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.01</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.31</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.08</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.09</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.01</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2022:</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">9,702</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">12,623</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,856</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">17,958</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">2,566</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">5,434</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,193</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">8,219</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(4,348</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(2,376</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">528</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">260</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income per common share:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.44</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.24</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.05</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.03</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.44</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(0.24</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.05</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">0.03</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482964/270-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_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258365248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of business (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>Segment </div>
<div>Solution</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DescriptionOfBusinessAbstract', window );"><strong>Description of business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | Segment</a></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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_NumberOfSoftwareSolutions', window );">Number of software solutions from the after-market side of the business | Solution</a></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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Description of business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,694<span></span>
</td>
<td class="nump">$ 32,089<span></span>
</td>
</tr>
<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_StatementScenarioAxis=srt_ScenarioForecastMember', window );">Forecast [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Description of business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating expenses</a></td>
<td class="num">$ (3,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DescriptionOfBusinessAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DescriptionOfBusinessAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_NumberOfSoftwareSolutions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 software solutions from the after-market side of the business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_NumberOfSoftwareSolutions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257781728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Segment reporting (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>Segment</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of business segments</a></td>
<td class="nump">1<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_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259304112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Accounts receivable and 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, 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_AllowanceForDoubtfulAccountsReceivableRollforward', window );"><strong>Allowances for expected credit losses [Roll Forward]</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, beginning of period</a></td>
<td class="nump">$ 351<span></span>
</td>
<td class="nump">$ 219<span></span>
</td>
</tr>
<tr class="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 costs and expenses</a></td>
<td class="nump">606<span></span>
</td>
<td class="nump">140<span></span>
</td>
</tr>
<tr class="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 );">Deductions</a></td>
<td class="num">(189)<span></span>
</td>
<td class="num">(8)<span></span>
</td>
</tr>
<tr class="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 );">Balance, end of period</a></td>
<td class="nump">$ 768<span></span>
</td>
<td class="nump">$ 351<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_AllowanceForDoubtfulAccountsReceivableRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_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>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258193856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Fixed assets (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, 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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">$ 1.3<span></span>
</td>
<td class="nump">$ 1.1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember', window );">Tooling [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</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 life</a></td>
<td class="text">5 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_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</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=tact_FurnitureAndOfficeEquipmentMember', window );">Furniture and Office Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</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 life</a></td>
<td class="text">5 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=tact_FurnitureAndOfficeEquipmentMember', window );">Furniture and Office Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</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=tact_ComputerSoftwareAndEquipmentMember', window );">Computer Software and Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</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 life</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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember', window );">Computer Software and Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_ToolsDiesAndMoldsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_ToolsDiesAndMoldsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_FurnitureAndOfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_ComputerSoftwareAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259034464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of significant accounting policies, Leases (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Apr. 26, 2022</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 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Leases [Abstract]</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_LesseeOperatingLeaseRemainingLeaseTerm', window );">Remaining lease terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm', window );">Remaining lease terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_FacilityInLasVegasNevadaMember', window );">Facility in Las Vegas, Nevada [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Leases [Abstract]</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_tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset', window );">Increase in right-of-use-asset</a></td>
<td class="nump">$ 0.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Increase in operating lease liability</a></td>
<td class="nump">$ 0.8<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_tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining lease term of 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)(1)<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_LesseeOperatingLeaseRemainingLeaseTerm</td>
</tr>
<tr>
<td style="padding-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=tact_FacilityInLasVegasNevadaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_FacilityInLasVegasNevadaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717261139344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Goodwill and intangible assets (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Summary of significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetImpairment', window );">Impairment of goodwill and intangible assets</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_GoodwillAndIntangibleAssetImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than 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;">us-gaap_GoodwillAndIntangibleAssetImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717253539072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 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_AccountingPoliciesAbstract', window );"><strong>Summary of significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation', window );">Term of free maintenance upon completion of software installation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 13,265<span></span>
</td>
<td class="nump">$ 17,190<span></span>
</td>
<td class="nump">$ 19,906<span></span>
</td>
<td class="nump">$ 22,270<span></span>
</td>
<td class="nump">$ 17,958<span></span>
</td>
<td class="nump">$ 17,856<span></span>
</td>
<td class="nump">$ 12,623<span></span>
</td>
<td class="nump">$ 9,702<span></span>
</td>
<td class="nump">$ 72,631<span></span>
</td>
<td class="nump">$ 58,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_srt_StatementGeographicalAxis=country_US', window );">United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">58,060<span></span>
</td>
<td class="nump">44,034<span></span>
</td>
</tr>
<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=tact_InternationalMember', window );">International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">14,571<span></span>
</td>
<td class="nump">14,105<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">16,308<span></span>
</td>
<td class="nump">12,364<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,159<span></span>
</td>
<td class="nump">11,602<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,149<span></span>
</td>
<td class="nump">762<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember', window );">POS Automation [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,922<span></span>
</td>
<td class="nump">10,659<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember', window );">POS Automation [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,805<span></span>
</td>
<td class="nump">10,657<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember', window );">POS Automation [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">117<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">41,192<span></span>
</td>
<td class="nump">30,029<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">28,715<span></span>
</td>
<td class="nump">17,686<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">12,477<span></span>
</td>
<td class="nump">12,343<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,209<span></span>
</td>
<td class="nump">5,087<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">7,381<span></span>
</td>
<td class="nump">4,089<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 828<span></span>
</td>
<td class="nump">$ 998<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period the customer receives free maintenance upon completion of EPICENTRAL installation, 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;">tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_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_DisaggregationOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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=tact_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=tact_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tact_CasinoAndGamingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tact_CasinoAndGamingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tact_TransactServicesGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tact_TransactServicesGroupMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257714832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Revenue recognition - Contract balances (Details) - USD ($)<br> $ in Thousands</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, 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_AccountingPoliciesAbstract', window );"><strong>Summary of significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_ContractWithCustomerRevenueRecognized', window );">Revenue recognized</a></td>
<td class="nump">$ 1,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract', window );"><strong>Net contract (liabilities) assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Unbilled receivables, current</a></td>
<td class="nump">145<span></span>
</td>
<td class="nump">$ 392<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetNoncurrent', window );">Unbilled receivables, non-current</a></td>
<td class="nump">120<span></span>
</td>
<td class="nump">163<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_tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent', window );">Customer pre-payments</a></td>
<td class="num">(155)<span></span>
</td>
<td class="num">(101)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, current</a></td>
<td class="num">(1,079)<span></span>
</td>
<td class="num">(1,329)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, non-current</a></td>
<td class="num">(209)<span></span>
</td>
<td class="num">(143)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_ContractWithCustomerAssetLiabilityNet', window );">Net contract (liabilities) assets</a></td>
<td class="num">$ (1,178)<span></span>
</td>
<td class="num">$ (1,018)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ContractWithCustomerAssetLiabilityNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ContractWithCustomerAssetLiabilityNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 related to customer prepayments 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ContractWithCustomerRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 related to obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ContractWithCustomerRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_ContractWithCustomerAssetAndLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as 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 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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 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_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257601856">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of significant accounting policies, Revenue recognition - Remaining performance obligations (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 8.2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01</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_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 7.9<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction, period</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01</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_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 0.2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction, period</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01</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_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction, period</a></td>
<td class="text">12 months<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_RevenuePerformanceObligationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuePerformanceObligationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258975744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Concentration of credit risk (Details) - Customer Concentration Risk [Member]<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | IGT [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>Concentration of credit risk [Abstract]</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">28.00%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | The Bright Group [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>Concentration of credit risk [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">9.00%<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | IGT [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>Concentration of credit risk [Abstract]</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">15.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_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_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=tact_InternationalGameTechnologyPlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=tact_InternationalGameTechnologyPlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=tact_TheBrightGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=tact_TheBrightGroupMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717264296016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Engineering, design and product development (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, 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_ResearchAndDevelopmentExpenseAbstract', window );"><strong>Engineering, design and product development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expense</a></td>
<td class="nump">$ 9,442<span></span>
</td>
<td class="nump">$ 8,570<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_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate 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 costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future 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 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-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_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717264304368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Advertising (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, 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_MarketingAndAdvertisingExpenseAbstract', window );"><strong>Advertising [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising expense</a></td>
<td class="nump">$ 1.7<span></span>
</td>
<td class="nump">$ 3.1<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_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-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_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_MarketingAndAdvertisingExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketingAndAdvertisingExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257588096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories (Details) - USD ($)<br> $ in Thousands</strong></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_InventoryDisclosureAbstract', window );"><strong>Inventories [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves', window );">Raw materials and purchased component parts</a></td>
<td class="nump">$ 9,382<span></span>
</td>
<td class="nump">$ 8,884<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">8,377<span></span>
</td>
<td class="nump">3,144<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 17,759<span></span>
</td>
<td class="nump">$ 12,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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregated amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed. This amount is net of valuation reserves and adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717253339792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fixed assets, net (Details) - USD ($)<br> $ in Thousands</strong></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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">$ 20,725<span></span>
</td>
<td class="nump">$ 19,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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated depreciation and amortization</a></td>
<td class="num">(18,646)<span></span>
</td>
<td class="num">(17,656)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Fixed assets, net</a></td>
<td class="nump">2,421<span></span>
</td>
<td class="nump">2,781<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Tooling, Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">7,562<span></span>
</td>
<td class="nump">6,859<span></span>
</td>
</tr>
<tr class="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=tact_FurnitureAndOfficeEquipmentMember', window );">Furniture and Office Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">2,078<span></span>
</td>
<td class="nump">1,882<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember', window );">Computer Software and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">8,190<span></span>
</td>
<td class="nump">8,348<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">2,895<span></span>
</td>
<td class="nump">2,883<span></span>
</td>
</tr>
<tr class="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=tact_FixedAssetsExcludingConstructionInProcessMember', window );">Fixed Assets, Excluding Construction in-Process [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Fixed assets, net</a></td>
<td class="nump">2,079<span></span>
</td>
<td class="nump">2,316<span></span>
</td>
</tr>
<tr class="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 );">Construction in-Process [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">$ 342<span></span>
</td>
<td class="nump">$ 465<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_FurnitureAndOfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=tact_ComputerSoftwareAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_ComputerSoftwareAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=tact_FixedAssetsExcludingConstructionInProcessMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_FixedAssetsExcludingConstructionInProcessMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717253336656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets, net (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, 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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">$ 1,606<span></span>
</td>
<td class="nump">$ 1,606<span></span>
</td>
</tr>
<tr class="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,518)<span></span>
</td>
<td class="num">(1,364)<span></span>
</td>
</tr>
<tr class="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">154<span></span>
</td>
<td class="nump">155<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Future amortization expense [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">88<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_tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo', window );">Thereafter</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_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Purchased Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">1,591<span></span>
</td>
<td class="nump">1,591<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(1,503)<span></span>
</td>
<td class="num">(1,349)<span></span>
</td>
</tr>
<tr class="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 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="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">$ (15)<span></span>
</td>
<td class="num">$ (15)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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><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)(1)<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_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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259033600">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued liabilities (Details) - USD ($)<br> $ in Thousands</strong></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_PayablesAndAccrualsAbstract', window );"><strong>Accrued liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Salaries and compensation related</a></td>
<td class="nump">$ 3,455<span></span>
</td>
<td class="nump">$ 2,744<span></span>
</td>
</tr>
<tr class="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 );">Taxes</a></td>
<td class="nump">870<span></span>
</td>
<td class="nump">530<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedProfessionalFeesCurrent', window );">Professional and consulting</a></td>
<td class="nump">161<span></span>
</td>
<td class="nump">371<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">461<span></span>
</td>
<td class="nump">432<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_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">$ 4,947<span></span>
</td>
<td class="nump">$ 4,077<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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.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_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717264217248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement savings plan (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, 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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement savings plan [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Employer matching contribution percentage</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Employee's contribution percentage for match</a></td>
<td class="nump">6.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_DefinedContributionPlanCostRecognized', window );">Matching contributions, net of applied forfeitures</a></td>
<td class="nump">$ 230<span></span>
</td>
<td class="nump">$ 355<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_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 defined contribution 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage employer matches of the employee's percentage contribution matched.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259190640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Borrowings (Details) - Sienna Credit Facility [Member] - 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, 2023</div></th>
<th class="th"><div>Jul. 21, 2021</div></th>
<th class="th"><div>Mar. 13, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">6.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Deferred financing costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 245,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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Percentage fee on unused borrowings</a></td>
<td class="nump">0.50%<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_tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable', window );">Percentage of eligible accounts receivable</a></td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentFinancialCovenantEligibleInventory', window );">Eligible inventory</a></td>
<td class="nump">$ 5,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage', window );">Percentage of eligible raw material</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage', window );">Percentage of eligible finished goods inventory</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Additional borrowing capacity</a></td>
<td class="nump">$ 5,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash', window );">Minimum excess availability and unrestricted cash required</a></td>
<td class="nump">$ 5,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash', window );">Number of days to maintain excess availability and unrestricted cash</a></td>
<td class="text">3 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount', window );">Minimum principal amount to be maintained to direct use of funds in deposit account</a></td>
<td class="nump">$ 2,250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid', window );">Minimum principal amount on which interest is paid</a></td>
<td class="nump">2,250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecuredDebt', window );">Balance outstanding</a></td>
<td class="nump">$ 2,300,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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Additional borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 750,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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Prime Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">1.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Federal Funds Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">2.25%<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_tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of 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;">tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_DebtInstrumentFinancialCovenantEligibleInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of 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;">tact_DebtInstrumentFinancialCovenantEligibleInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of 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;">tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of 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;">tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash required under a new "springing" deposit account control agreement, permitting the Company to direct the use of funds in its deposit account.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum principal amount, whether or not such amount of loans is actually outstanding, on which interest is paid if the Company does not have the ability to direct the use of funds in the deposit account under the Amended Fee Letter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum principal amount of outstanding borrowings that must be maintained in order to retain the ability to direct the use of funds in the deposit account under the Amended Fee Letter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 time the minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash must be maintained, 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings 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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the 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;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 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_SecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_PrimeRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257609952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans, Stock incentive plans (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>Plan </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans', window );">Number of stock incentive plans | Plan</a></td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="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 );">Stock Options [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant', window );">Exercise price as a percentage of fair market value of common stock at date of grant</a></td>
<td class="nump">100.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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Term of award</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="nump">2,900,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares available for grant (in shares)</a></td>
<td class="nump">981,769<span></span>
</td>
</tr>
<tr class="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=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member] | Stock Options [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Term of award</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exercise price of awards granted under the plans as a percentage of the fair market value of the Company's common stock at the date of grant.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 stock incentive plans.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_PlanNameAxis=tact_EquityIncentivePlan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_EquityIncentivePlan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257655936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans, Assumptions used in option valuation calculations (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used in valuation model [Abstract]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Term of award</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_PlanNameAxis=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used in valuation model [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected option term</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">7 years 1 month 6 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">55.60%<span></span>
</td>
<td class="nump">51.30%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">4.20%<span></span>
</td>
<td class="nump">2.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member] | Stock Options [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used in valuation model [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average fair value of grants (in dollars per share)</a></td>
<td class="nump">$ 4.16<span></span>
</td>
<td class="nump">$ 4.39<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Term of award</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_PlanNameAxis=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member] | Restricted Share Units [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used in valuation model [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average fair value of grants (in dollars per share)</a></td>
<td class="nump">$ 7.21<span></span>
</td>
<td class="nump">$ 8.43<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_PlanNameAxis=tact_EquityIncentivePlan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_EquityIncentivePlan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260542272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans, Share-based compensation expense (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, 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_ShareBasedCompensationAbstract', window );"><strong>Share-based compensation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Income tax benefit from share-based compensation expense</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.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_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and Administrative Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationAbstract', window );"><strong>Share-based compensation [Abstract]</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_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">$ 0.9<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_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit for recognition of expense of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShareBasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258800144">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans, Stock options (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract', window );"><strong>Remaining Term [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized compensation cost related to stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 4,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted average period to recognize compensation cost not yet recognized</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">3 years 3 months 18 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1', window );">Fair value of all awards vested</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,300<span></span>
</td>
<td class="nump">$ 1,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of stock options exercised</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">3<span></span>
</td>
<td class="nump">40<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Cash received from exercise of stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions', window );">Excess tax benefit in provision for income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (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_us-gaap_PlanNameAxis=tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member', window );">2005 Equity Incentive Plan and 2014 Equity Incentive Plan [Member] | Stock Options [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Shares [Roll Forward]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, beginning of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,355,955<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">309,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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(1,875)<span></span>
</td>
<td class="num">(17,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Forfeited (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(271,655)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Expired (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(77,750)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Outstanding, end of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,314,475<span></span>
</td>
<td class="nump">1,355,955<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Options vested or expected to vest (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,314,475<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Options exercisable, end of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">968,972<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, beginning of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 9.08<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">6.91<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">4.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Forfeited (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">7.72<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Expired (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Outstanding, end of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8.82<span></span>
</td>
<td class="nump">$ 9.08<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Options vested or expected to vest (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8.82<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Options exercisable, end of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 9.31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_EquityAwardsAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Options vested and expected to vest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Options exercisable, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 167<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract', window );"><strong>Remaining Term [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Options vested and expected to vest</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">4 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Options exercisable, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">2 years 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member', window );">2005 Equity Incentive Plan and 2014 Equity Incentive Plan [Member] | Restricted Share Units [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Shares [Roll Forward]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Options vested or expected to vest (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">184,536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Options vested or expected to vest (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward', window );"><strong>Number of Units [Roll Forward]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding, beginning of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">214,286<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted', window );">Granted (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">210,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Exercised (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(58,705)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures', window );">Forfeited (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(181,145)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations', window );">Expired (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding, end of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">184,536<span></span>
</td>
<td class="nump">214,286<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Stock Price [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, beginning of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">$ 9.28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Granted (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">7.21<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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue', window );">Exercised (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">9.55<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Forfeited (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">8.34<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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue', window );">Expired (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, end of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">$ 7.76<span></span>
</td>
<td class="nump">$ 9.28<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_EquityAwardsAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Restricted stock units vested and expected to vest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,288<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract', window );"><strong>Remaining Term [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms', window );">Restricted stock units vested and expected to vest</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">2 years 8 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">weighted average exercise price per share</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">weighted-average contractual remaining term in years</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">weighted average grant stock price per share</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_EquityAwardsAggregateIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_EquityAwardsAggregateIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 the grant date of equity-based award plans other than stock (unit) option plans that were exercised during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 to be recognized 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://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 (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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit 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://www.xbrl.org/2003/role/disclosureRef<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_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity-based awards excluding options, 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of non-option equity instruments exercised by participants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 under non-option equity instrument agreements for which rights to exercise lapsed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(4)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 under non-option equity instrument agreements that were cancelled as a result of 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-option equity instruments granted to participants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(1)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity instruments other than options outstanding, including both vested and non-vested 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 2<br> -Subparagraph (c)(1)(i)<br> -SubTopic 10<br> -Topic 718<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 (c)(1)(ii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<a href="javascript: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)(04)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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.</p></div>
<a href="javascript: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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 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_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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 could have acquired the underlying shares with respect to stock options of the plan 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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript: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)(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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted 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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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://www.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 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(28))<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><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(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_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_PlanNameAxis=tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258725728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes, Components of income tax expense (benefit) (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, 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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="nump">$ 149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">51<span></span>
</td>
<td class="nump">110<span></span>
</td>
</tr>
<tr class="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">85<span></span>
</td>
<td class="num">(83)<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 );">Income taxes current</a></td>
<td class="nump">135<span></span>
</td>
<td class="nump">176<span></span>
</td>
</tr>
<tr class="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 [Abstract]</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_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">825<span></span>
</td>
<td class="num">(1,924)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="nump">132<span></span>
</td>
<td class="num">(217)<span></span>
</td>
</tr>
<tr class="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="nump">63<span></span>
</td>
<td class="nump">0<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 );">Income taxes deferred</a></td>
<td class="nump">1,020<span></span>
</td>
<td class="num">(2,141)<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 );">Income tax expense (benefit)</a></td>
<td class="nump">$ 1,155<span></span>
</td>
<td class="num">$ (1,965)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">19.60%<span></span>
</td>
<td class="nump">24.90%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal statutory tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract', window );"><strong>Income taxes [Abstract]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign income before taxes</a></td>
<td class="nump">$ 322<span></span>
</td>
<td class="nump">$ 24<span></span>
</td>
</tr>
<tr class="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 );">Federal [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract', window );"><strong>Income taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_OperatingLossCarryforwardsNotSubjectToExpiration', window );">Net operating loss carryforwards not subject to expiration</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_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract', window );"><strong>Income taxes [Abstract]</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_tact_OperatingLossCarryforwardsSubjectToExpiration', window );">Net operating loss carryforwards subject to expiration</a></td>
<td class="nump">100<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_tact_TaxCreditCarryforwardAmountSubjectToExpiration', window );">Tax credit carryforwards subject to expiration</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_us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember', window );">R&amp;D Credit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract', window );"><strong>Income taxes [Abstract]</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_tact_TaxCreditCarryforwardAmountSubjectToExpiration', window );">Tax credit carryforwards subject to expiration</a></td>
<td class="nump">$ 700<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_tact_OperatingLossCarryforwardsNotSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_OperatingLossCarryforwardsNotSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_tact_OperatingLossCarryforwardsSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 that are subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_OperatingLossCarryforwardsSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_tact_TaxCreditCarryforwardAmountSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws that are subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_TaxCreditCarryforwardAmountSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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 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><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<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 4: 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 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><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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 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><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<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 6: 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 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><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_TaxCreditCarryforwardAxis=us-gaap_ResearchMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259190576">
<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, 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_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic', window );">Deferred Tax Assets, Operating Loss Carryforwards, Domestic</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 2,297<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign', window );">Foreign net operating losses</a></td>
<td class="nump">733<span></span>
</td>
<td class="nump">676<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal', window );">State net operating losses</a></td>
<td class="nump">84<span></span>
</td>
<td class="nump">149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments', window );">Accrued severance</a></td>
<td class="nump">165<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_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Capitalized R&amp;D expenses</a></td>
<td class="nump">3,127<span></span>
</td>
<td class="nump">1,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_DeferredTaxAssetsInventory', window );">Inventory reserves</a></td>
<td class="nump">896<span></span>
</td>
<td class="nump">648<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsDeferredIncome', window );">Deferred revenue</a></td>
<td class="nump">31<span></span>
</td>
<td class="nump">41<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves', window );">Warranty reserve</a></td>
<td class="nump">24<span></span>
</td>
<td class="nump">17<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock compensation expense</a></td>
<td class="nump">790<span></span>
</td>
<td class="nump">769<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation', window );">Other accrued compensation</a></td>
<td class="nump">404<span></span>
</td>
<td class="nump">222<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">R&amp;D credit carryforward</a></td>
<td class="nump">695<span></span>
</td>
<td class="nump">1,238<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other Assets</a></td>
<td class="nump">360<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals', window );">Other liabilities and reserves</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">463<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Gross deferred tax assets</a></td>
<td class="nump">7,309<span></span>
</td>
<td class="nump">8,228<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(719)<span></span>
</td>
<td class="num">(656)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred tax assets</a></td>
<td class="nump">6,590<span></span>
</td>
<td class="nump">7,572<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNetAbstract', window );"><strong>Deferred tax liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation and amortization</a></td>
<td class="nump">237<span></span>
</td>
<td class="nump">196<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="nump">49<span></span>
</td>
<td class="nump">49<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_DeferredTaxLiabilities', window );">Net deferred tax liabilities</a></td>
<td class="nump">286<span></span>
</td>
<td class="nump">245<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_DeferredTaxAssetsLiabilitiesNet', window );">Total net deferred tax assets</a></td>
<td class="nump">$ 6,304<span></span>
</td>
<td class="nump">$ 7,327<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_DeferredTaxAssetsDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 deferred 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 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 in-process research and development costs expensed in connection with a business combination.</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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 domestic operating loss carryforwards. Excludes state and local 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsOperatingLossCarryforwardsDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsOperatingLossCarryforwardsForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsOperatingLossCarryforwardsForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 state and local 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_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_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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<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_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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 employee compensation.</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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 severance 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 share-based compensation.</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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 warranty reserves.</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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<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_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717253455568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes, Valuation allowance on deferred tax assets (Details) - Foreign Net Operating Loss Carryforwards [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Valuation allowance [Roll Forward]</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_ValuationAllowancesAndReservesBalance', window );">Balance, beginning of period</a></td>
<td class="nump">$ 656<span></span>
</td>
<td class="nump">$ 733<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Subtractions released to income tax provisions</a></td>
<td class="nump">0<span></span>
</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_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Additions charged to income tax provision</a></td>
<td class="nump">63<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance, end of period</a></td>
<td class="nump">$ 719<span></span>
</td>
<td class="nump">$ 656<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717253420992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes, Statutory to effective 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, 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Effective Tax Rate Reconciliation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal statutory tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">R&amp;D credit</a></td>
<td class="num">(5.90%)<span></span>
</td>
<td class="nump">4.30%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent', window );">Foreign-derived intangible income deduction</a></td>
<td class="num">(1.70%)<span></span>
</td>
<td class="nump">0.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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Stock award excess tax benefit</a></td>
<td class="nump">0.40%<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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income taxes, net of federal income taxes</a></td>
<td class="nump">2.50%<span></span>
</td>
<td class="nump">1.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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment', window );">Business meals and entertainment</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="nump">0.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_tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent', window );">Executive compensation limitation</a></td>
<td class="nump">0.60%<span></span>
</td>
<td class="nump">0.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_EffectiveIncomeTaxRateReconciliationTaxContingencies', window );">Uncertain tax positions</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="num">(0.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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock option cancellations</a></td>
<td class="nump">0.60%<span></span>
</td>
<td class="num">(1.90%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Valuation allowance and tax accruals</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.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_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="num">(0.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_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">19.60%<span></span>
</td>
<td class="nump">24.90%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 limitation on executive compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EffectiveIncomeTaxRateReconciliationFdiiPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII).</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent</td>
</tr>
<tr>
<td style="padding-right: 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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 meals and entertainment expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment</td>
</tr>
<tr>
<td style="padding-right: 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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nondeductible 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://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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 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_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 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> -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> -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/2147480887/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/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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EffectiveIncomeTaxRateReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other 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 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717257656048">
<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, 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_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Unrecognized tax benefits that would favorably affect effective income tax rate if recognized</a></td>
<td class="nump">$ 197<span></span>
</td>
<td class="nump">$ 142<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Unrecognized tax benefits [Roll Forward]</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 );">Unrecognized tax benefits, beginning of period</a></td>
<td class="nump">142<span></span>
</td>
<td class="nump">144<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease', window );">Tax positions taken during the current period</a></td>
<td class="nump">83<span></span>
</td>
<td class="nump">26<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations', window );">Lapse of statute of limitations</a></td>
<td class="num">(28)<span></span>
</td>
<td class="num">(28)<span></span>
</td>
</tr>
<tr class="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 );">Unrecognized tax benefits, end of period</a></td>
<td class="nump">197<span></span>
</td>
<td class="nump">142<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible', window );">Expected decrease in unrecognized tax benefits in next year</a></td>
<td class="nump">40<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued', window );">Accrued interest and penalties related to uncertain tax positions</a></td>
<td class="nump">$ 25<span></span>
</td>
<td class="nump">$ 34<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_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 reasonably possible in the next twelve months for the unrecognized 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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)(3)<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_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_IncomeTaxExaminationPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of estimated penalties and interest accrued as of the balance sheet date arising from income tax examinations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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/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 2: 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_UnrecognizedTaxBenefitsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in unrecognized tax benefits attributable to uncertain tax positions taken in tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 lapses of applicable statutes of limitations.</p></div>
<a href="javascript: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 15A<br> -Subparagraph (a)(4)<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_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<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_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717258880192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 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_EarningsPerShareAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="num">$ (62)<span></span>
</td>
<td class="nump">$ 906<span></span>
</td>
<td class="nump">$ 765<span></span>
</td>
<td class="nump">$ 3,139<span></span>
</td>
<td class="nump">$ 260<span></span>
</td>
<td class="nump">$ 528<span></span>
</td>
<td class="num">$ (2,376)<span></span>
</td>
<td class="num">$ (4,348)<span></span>
</td>
<td class="nump">$ 4,748<span></span>
</td>
<td class="num">$ (5,936)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Shares [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic: Weighted average common shares outstanding (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">9,951<span></span>
</td>
<td class="nump">9,905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Add: Dilutive effect of outstanding equity awards as determined by the treasury stock method (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">70<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted: Weighted average common and common equivalent shares outstanding (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,021<span></span>
</td>
<td class="nump">9,905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Net income (loss) per common share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (0.01)<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.08<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="num">$ (0.24)<span></span>
</td>
<td class="num">$ (0.44)<span></span>
</td>
<td class="nump">$ 0.48<span></span>
</td>
<td class="num">$ (0.6)<span></span>
</td>
</tr>
<tr class="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="num">$ (0.01)<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.08<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="num">$ (0.24)<span></span>
</td>
<td class="num">$ (0.44)<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="num">$ (0.6)<span></span>
</td>
</tr>
<tr class="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_StockCompensationPlanMember', window );">Stock Awards [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareReconciliationAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,100<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_StockCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_StockCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260914832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock repurchase program (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1">180 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Stock repurchase program [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Common stock repurchased (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,044,842<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Value of common stock repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32.1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average purchase price of common stock repurchased (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.94<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://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/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 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 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(28))<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 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 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(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_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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate 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://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/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<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/2147481004/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/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<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 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(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_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_TreasuryStockAcquiredAverageCostPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost of shares repurchased divided by the total number of shares 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> -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_TreasuryStockAcquiredAverageCostPerShare</td>
</tr>
<tr>
<td style="padding-right: 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>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717253205200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Geographic area information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 13,265<span></span>
</td>
<td class="nump">$ 17,190<span></span>
</td>
<td class="nump">$ 19,906<span></span>
</td>
<td class="nump">$ 22,270<span></span>
</td>
<td class="nump">$ 17,958<span></span>
</td>
<td class="nump">$ 17,856<span></span>
</td>
<td class="nump">$ 12,623<span></span>
</td>
<td class="nump">$ 9,702<span></span>
</td>
<td class="nump">$ 72,631<span></span>
</td>
<td class="nump">$ 58,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_PropertyPlantAndEquipmentNet', window );">Fixed assets, net</a></td>
<td class="nump">2,421<span></span>
</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,781<span></span>
</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,421<span></span>
</td>
<td class="nump">2,781<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">58,060<span></span>
</td>
<td class="nump">44,034<span></span>
</td>
</tr>
<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=tact_InternationalMember', window );">International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 14,571<span></span>
</td>
<td class="nump">$ 14,105<span></span>
</td>
</tr>
<tr class="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 [Member] | Geographic Concentration Risk [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">24.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | Geographic Concentration Risk [Member] | Europe [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">64.00%<span></span>
</td>
<td class="nump">68.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | Geographic Concentration Risk [Member] | Pacific Rim [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">29.00%<span></span>
</td>
<td class="nump">28.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | Geographic Concentration Risk [Member] | Canada [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.00%<span></span>
</td>
<td class="nump">4.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_ConsolidationItemsAxis=srt_ReportableGeographicalComponentsMember', window );">Reportable Geographical Components [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 58,060<span></span>
</td>
<td class="nump">$ 44,034<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Fixed assets, net</a></td>
<td class="nump">945<span></span>
</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,252<span></span>
</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">945<span></span>
</td>
<td class="nump">2,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_srt_ConsolidationItemsAxis=srt_ReportableGeographicalComponentsMember', window );">Reportable Geographical Components [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">14,571<span></span>
</td>
<td class="nump">14,105<span></span>
</td>
</tr>
<tr class="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 );">Fixed assets, net</a></td>
<td class="nump">$ 1,476<span></span>
</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">$ 529<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,476<span></span>
</td>
<td class="nump">$ 529<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_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_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentsGeographicalAreasAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentsGeographicalAreasAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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=tact_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=tact_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=tact_PacificRimMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=tact_PacificRimMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_ConsolidationItemsAxis=srt_ReportableGeographicalComponentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidationItemsAxis=srt_ReportableGeographicalComponentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717253384416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>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, 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_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating lease expense</a></td>
<td class="nump">$ 1,100<span></span>
</td>
<td class="nump">$ 1,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_CashFlowOperatingActivitiesLesseeAbstract', window );"><strong>Cash Flows Related to Operating Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash outflows from leases</a></td>
<td class="nump">$ 1,013<span></span>
</td>
<td class="nump">$ 967<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseDescriptionAbstract', window );"><strong>Operating Lease Weighted Average Remaining Lease Term and Discount Rate [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term</a></td>
<td class="text">1 year 8 months 12 days<span></span>
</td>
<td class="text">2 years 8 months 12 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.40%<span></span>
</td>
<td class="nump">4.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_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturity of Operating Lease Liabilities [Abstract]</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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">713<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total undiscounted lease payments</a></td>
<td class="nump">1,720<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="nump">71<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total lease liabilities</a></td>
<td class="nump">$ 1,649<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_CashFlowOperatingActivitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowOperatingActivitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseDescriptionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseDescriptionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_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_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_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717259387168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly results of operations (unaudited) (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly results of operations (unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 13,265<span></span>
</td>
<td class="nump">$ 17,190<span></span>
</td>
<td class="nump">$ 19,906<span></span>
</td>
<td class="nump">$ 22,270<span></span>
</td>
<td class="nump">$ 17,958<span></span>
</td>
<td class="nump">$ 17,856<span></span>
</td>
<td class="nump">$ 12,623<span></span>
</td>
<td class="nump">$ 9,702<span></span>
</td>
<td class="nump">$ 72,631<span></span>
</td>
<td class="nump">$ 58,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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">6,371<span></span>
</td>
<td class="nump">8,916<span></span>
</td>
<td class="nump">10,858<span></span>
</td>
<td class="nump">12,255<span></span>
</td>
<td class="nump">8,219<span></span>
</td>
<td class="nump">8,193<span></span>
</td>
<td class="nump">5,434<span></span>
</td>
<td class="nump">2,566<span></span>
</td>
<td class="nump">38,400<span></span>
</td>
<td class="nump">24,412<span></span>
</td>
</tr>
<tr class="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="num">$ (62)<span></span>
</td>
<td class="nump">$ 906<span></span>
</td>
<td class="nump">$ 765<span></span>
</td>
<td class="nump">$ 3,139<span></span>
</td>
<td class="nump">$ 260<span></span>
</td>
<td class="nump">$ 528<span></span>
</td>
<td class="num">$ (2,376)<span></span>
</td>
<td class="num">$ (4,348)<span></span>
</td>
<td class="nump">$ 4,748<span></span>
</td>
<td class="num">$ (5,936)<span></span>
</td>
</tr>
<tr class="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>Net income (loss) per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (0.01)<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.08<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="num">$ (0.24)<span></span>
</td>
<td class="num">$ (0.44)<span></span>
</td>
<td class="nump">$ 0.48<span></span>
</td>
<td class="num">$ (0.6)<span></span>
</td>
</tr>
<tr class="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="num">$ (0.01)<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.08<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
<td class="nump">$ 0.03<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="num">$ (0.24)<span></span>
</td>
<td class="num">$ (0.44)<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="num">$ (0.6)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</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.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm139717260682768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related party transactions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 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_tact_RelatedPartyTransactionAbstract', window );"><strong>Related Party Transaction [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenue</a></td>
<td class="nump">$ 13,265<span></span>
</td>
<td class="nump">$ 17,190<span></span>
</td>
<td class="nump">$ 19,906<span></span>
</td>
<td class="nump">$ 22,270<span></span>
</td>
<td class="nump">$ 17,958<span></span>
</td>
<td class="nump">$ 17,856<span></span>
</td>
<td class="nump">$ 12,623<span></span>
</td>
<td class="nump">$ 9,702<span></span>
</td>
<td class="nump">$ 72,631<span></span>
</td>
<td class="nump">$ 58,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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">9,824<span></span>
</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">13,927<span></span>
</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">9,824<span></span>
</td>
<td class="nump">13,927<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember', window );">Related Party [Member] | The One Group Hospitality, Inc [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_tact_RelatedPartyTransactionAbstract', window );"><strong>Related Party Transaction [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">246<span></span>
</td>
<td class="nump">37<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 34<span></span>
</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<span></span>
</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">$ 34<span></span>
</td>
<td class="nump">$ 4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_RelatedPartyTransactionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_RelatedPartyTransactionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CounterpartyNameAxis=tact_TheOneGroupHospitalityIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CounterpartyNameAxis=tact_TheOneGroupHospitalityIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>88
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MW=$&\/VM  F[N='OO[?_[S#]%U!+ P04    " "JB&U8+P71,?P#  ""$0
M&    'AL+W=O<FMS:&5E=',O<VAE970S+GAM;*U8:V_B.!3]*U9VM-M*LTV<
M! A=0*+0U8PT#S1T9CZL]H.;7$C4)&9L!]K]]6LG:1XT)(#@ ^1Q[_$YU_8]
M":,=94_<!Q#H.0IC/M9\(3:WNLY='R+";^@&8GEG15E$A#QE:YUO&! O38I"
MW32,OAZ1(-8FH_3:@DU&-!%A$,."(9Y$$6$O=Q#2W5C#VNN%;\':%^J"/AEM
MR!J6(+YO%DR>Z06*%T00\X#&B,%JK$WQ[0P/54(:\2. ':\<(R7ED=(G=?+1
M&VN&8@0AN$)!$/FSA1F$H4*2/'[EH%HQIDJL'K^B_YV*EV(>"8<9#7\&GO#'
MFJ,A#U8D"<4WNOL N:">PG-IR--OM,MB^T,-N0D7-,J3)8,HB+-?\IP7HI*
M[0,)9IY@'IM@Y0E6*C1CELJ:$T$F(T9WB*EHB:8.TMJDV5)-$*MI7 HF[P8R
M3TQF7[\LOW[Z.)\^W,_1W?33],OL'BT_W-\_+-'5@C"(A0\B<$EXC?Y$WY=S
M=/7N&KU#08P>?)IP$GM\I O)1.'I;C[J73:J>6#4.;@WR,+OD6F85D/Z[/AT
MLYZN2_U%$<RB"&:*9QTJ0L*44$0X!\%OF_1D '8S@-IKMWQ#7!AK<C-Q8%O0
M)K__AOO&7TWJ+@16TVH56JTV],DTE#N7Q"X@V0,0/&_D?@(/N0R\0*"0RA(T
M3FB&VDM156_83@9]9Z1OJ[K>QE@]7,34Z-H%7;MU:I:^7(,^#3U@_ \$OY)
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
M?;C$T0*7#$"_ORT*\N.$[0O?_B_#]%]02P,$%     @ JHAM6"9/@VG!!@
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
M>D7:U+J2T940(Q'#GFH)&GETQMIN#4E(]J1#OXUM=.Y*(-&S<SV6RH#<KU'
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
MRKF?^J2 #6LKLY+=5]CG<V'Y<EEI-Y*NCZ6Q3_)6&UGOP:B@YJ*?V?/^'HX
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
M3?K'+&RVE;YV0J8.<K,PQ.(5AB7_+=!Z!UXOC*'-Q"?H_C^S?U!+ P04
M" "JB&U85QJ'(? '  "#%0  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX
M;6RM6&UOVS@2_JY?07C;10(8?E&2-MLF 9*TO>NAO2V:O=L/A_M 2[3%JT1J
M2<I._OT],Y04V75>NG= 8EO2<#CSS,PS0YUMK/OF"Z6"N*U*X\]'10CUF^G4
M9X6JI)_86AD\65I7R8!+MYKZVBF9\Z*JG*:SV:MI);4979SQO2_NXLPVH=1&
M?7'"-U4EW=V5*NWF?#0?=3>^ZE41Z,;TXJR6*W6CPC_J+PY7TUY+KBMEO+9&
M.+4\'UW.WUP=DSP+_%.KC1_\%N3)PMIO=/$Q/Q_-R"!5JBR0!HFOM;I694F*
M8,8?K<Y1OR4M'/[NM']@W^'+0GIU;<O?=1Z*\]'I2.1J*9LR?+6;OZK6GQ/2
ME]G2\Z?81-DT'8FL\<%6[6)84&D3O^5MB\-@P>GL@05INR!EN^-&;.4[&>3%
MF;,;X4@:VN@'N\JK89PV%)2;X/!48UVXN+(.*[19^;-I@#ZZ.\W:M5=Q;?K
MVGDJ/EL3"B_>FUSEVPJF4-M;DW;67*6/:GRGLHDXFH]%.DN/'M%WU'MWQ/J.
MGO1._.MRX8-#$OQ[GZ-1S?%^-508;WPM,W4^0N9[Y=9J=/'S3_-7L[>/&'G<
M&WG\F/8G0O#XVM.)&/AX[52N@_@@,UWJ<"=^->*S=%DAYD<,Z6PL-DHH$Q0$
MA3;!BE H\<E*E(?)Q8W*&D<++U=.*91>$"N[5LY .TO>:&7D=]ML="C:1Y^4
MR4GX+\XVM?CTZ5H<T+J??SI-T]E;>JH<7\S?'D[$;X5*]JNLG5WK7'D!VA$2
MU;^VY9H49U&0<!!V*; )G'@QGTUFJ(ZRY$*')QOIA75ZI8TLRSM!7)8W)9R&
MM+JMM</J'7".MJ!LR-)'?%XH288M2RL#V>5D8(,T@^N#4'\TLA0MPH 3SW$7
M$@?ZD._5#N06U]5EX\5\\OKDY1B/V^=+!0N@8@E3_$ NG:202\A+R$+XU>1D
M]I+!Q'8!*T!*RE&$EW#?9 R;]0%*5 DU'0A@5@"L#6+NXLW,5G6IL-$CL89W
MXD5Z? (9VWA8,1&_*R%+;T4M[P@2Q4#,R*H$(#>F\5"_>#:V/Q0'"7,\I2UM
M0=N7$*/8^@;U+DW0G #X8"72>P4@8!]=7<-?:?[$ALWB/^@J!)F\=XR[ W_D
M," Y/7E)^Z@26;@HL766V<9P%#*EUY+N<4!IKU+!,,?I(0_%BY.==#Y8' K
MN:7/R0T: ;(-'K+0JRB H&OT@QRE:W.*[QIU;-U=S)#]3NFJMI0,LDL9J,Q0
M^?@=",P!6+P59;C36?!C(2L+URTD"#6"<"QL@]I81-7 B%-,R!Q;PB&HUL!X
M@40T\)H3.>/Z:+50!/V$R.MO#4*7QG: SZ$56R1&] 6VRIFQ#EJRV>_I92_W
M=SL1\XZ+ND)]("&?I4MDA30KJB2JWN]QW)]92:]NZ6R%"*#)ZZJIQ/NKC[^]
MN[Q?'OU4MQE $W(M==E!W(LXD(YVD:QEV,*+YK. _[T*D#40+Y4$0[UX?3)+
MNMI^JAH0$V0"7)9]30$23E,)9LUDB4L0945CPABD"4+F9L(M@\2W16@UM''<
MVS%@/A$?")BM>UB*!K,J! 8&52U@8C<T<(=SBMSE[(B<IA$+%3>EW-R#0=*!
M>)]X\U]893K^+OVY:7(OV\[#[81(?R@5TV>E(H!..-4CW3TK+R?BDMC9_FFW
MD':7[9XD]A4AYS;R09%\@.16E^]D[Q_WKG$\C&DG\L'<\ 0VDP=*9A?P7.?"
MV(!DRO7R+C+^"LUW1>P"IFI,Z/)T,%+8JM*!M=B8ZWT3YZXK:R10QGS=A@9-
MGQB*^#36O'\\:.TTD_,T PR>Y3/19MGD:C_%,L?8LN3.\R;!4)&0.>HVM >F
MUDUTB#C2Y>0*4\SVU$.6;]TY>4M13F@.896  I0DPT"INM6>IYY%:;-OE!:Q
MMU%P@\,91O;S(R4,OMU=FTK"X*#6)@J.D5""OS8_,+B@#0&2!]6-DYJL":$;
M2+OTA>H<0UT620\#!W="GIR MT;7W=6-?UVBD\/Q0(,8&(Q:+RW' 94I; ]3
M/CD=,&=V[1'(9-(70GMN\,3*!LV];^V4#D?D)4TP=#H5B\9KZHH(UQU-L-SY
MI4G46L74;0^<PF;HJ9[W@W8"2IL&J$S$1].WVI@FW]=CVRB4'V((YBPT<EQ3
M'Z%6$9\.^O@C"-.]'83'M*1K.XEM HUC?#@8C();G2<=IR>S\6PV(XV4&YFN
M:;;ANH5C6T.;R"WLIV(OY%H]W]1DOZF%,C\"%NU!XV[/%#2H[7%DUPNRA-EC
MG&P*Q16-(),7G(D[0A1:G%@;'F$'"$[BR0Y<WC6]1ZB<BR>/LVH9/;H?EOX_
M)\")^.(T<:?MW&CUCY.;ENM?3^8'U6%'(/_KB;,-21[G''(:^U*U1B,&:!"U
MS%^_Y8-D!=>O"ZV6XOUM5W"_+I<ZP_T%=03I,9XNZ+@ 97484GX$DSB?8M+C
MA\);:BAN+?D,B7<H[K;TDETC^*B%90]8,>: F^'VO5]CQHM[43MB>DGGQXA$
M%TR"8MF \M4V(O>&$=$]L#T&!:[(_4-5(7-D]N0HZ=@+D@]4]7-8$F><7\1
ME5%A<)3*9 UA$HWL"R1VE":[.;CO3<QT\&(,T5_QZS^B2U19?$?6W^W?,%[&
M%VOWXO'U)'KDBCBQ5$LLG>&P/A(NOO*+%\'6_)IM84.P%?\LE(3-)(#G2VM#
M=T$;].]=+_X+4$L#!!0    ( *J(;5C\')$&P <  %L3   9    >&PO=V]R
M:W-H965T<R]S:&5E=#$V+GAM;*586W/;MA)^QZ_ J&G'R3 4+[JZMF><2]L\
M],1C)^ETSIP'B%Q)&).$"H"6U5_?70"B+E9\DG,>))( ]K[[[9(7:Z7OS1+
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
ML:IVMTL06.]T /?G2MGM PGHOJ==_0-02P,$%     @ JHAM6!<0!//H"
M@18  !D   !X;"]W;W)K<VAE971S+W-H965T,3<N>&ULE5AK;]LX%OW.7T%X
M/(4#:&Q+?B9- B1][!38V2F:/K!8[ =:HFU.)=%#4G':7[_GDI(M)W;:!1+;
MDLC[./?><R]UN=7FJUU+Z?A#D9?VJK-V;G,Q&-AT+0MA^WHC2SQ9:E,(ATNS
M&MB-D2+SFXI\D R'TT$A5-FYOO3WWIOK2UVY7)7RO>&V*@IAOMW*7&^O.G&G
MN?%!K=:.;@RN+S=B)>^D^[1Y;W UV$G)5"%+JW3)C5Q>=6[BB]LQK?<+/BNY
MM:W?G#Q9:/V5+MYE5YTA&21SF3J2(/!U+U_)/"=!,./O6F9GIY(VMG\WTM]Z
MW^'+0ECY2N=?5.;65YUYAV=R*:K<?=#;WV7MSX3DI3JW_I-OP]IDW.%I99TN
MZLVPH%!E^!8/-0ZM#?/AB0U)O2'Q=@=%WLK7PHGK2Z.WW-!J2*,?WE6_&\:I
MDH)RYPR>*NQSU^_*5!>2._$@[>7 02+='Z3U[MNP.SFQ.T[X'[IT:\O?E)G,
M#@4,8,K.GJ2QYS9Y5N)KF?;Y*(YX,DQ&S\@;[?P;>7FCG_"/_^=F89U!(OSW
MF*M!T/BX("J."[L1J;SJ(/NM-/>R<_WBEW@Z?/F,F>.=F>/GI/\P#,_OCH=]
M?N#HQ[7DN-SH4I;.<KWD#G?4;@F7#ZAJ*WEO(4NY5.Z,"R.YL'RI<]2IO6 (
MA"P6TE P6.]="0FZLJ+,[!FCV-!'PEY5QD#%!7LK,VE$SKJL%[,S?,7C<W;G
MA)-L$K,X'C(4$4JD9/,)Z\U'6!./)BR>3:%I*2$EVPN9)U@31^?)&,N"D'B4
ML%X2SW"C$30=L1>_S),X?LGB:)@,\3R*QZ3]W3..DFE1/)EX2Z/SZ82=\3\K
MP^5R*3U#^&T&.BW?2@*ES'B/GP$9XW]'X"*["6OS;WV/-6VI%>!IJ@V*P6\@
MD CWO,H@CX) CU>E\I2$N*# TZ]<;^B:I:),P4^"+JS?OUVK=,U+O9.^18Q
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
MZ9%4G?S[W5&VZF2)@7X1W^Z>>[_3=&OL5U<#>/;0*.UF<>W]YCQ-75E#(]S
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
M\P7.=S6\ (-BY-%-W9TT.,.=6.&C"<H:X/E>2O.@V #3,[SY!U!+ P04
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
MNUY]1V1!N4(,<B/UK^?F<\JN_W43+6K7<_9"FP[FAJ7Y98"T 68_%T(?)O:
MX2>4_ %02P,$%     @ JHAM6!<HK%'6%P  -$@  !D   !X;"]W;W)K<VAE
M971S+W-H965T,C8N>&ULK3QK<]NVLM_Y*W!]TC/.#*V(\DMVD\PXSY,[;9.)
MDW;NW+D?*!*2T%"D#D'ZT5]_]P40E"G&/>T76R*!Q6*Q[UWH^6U5?[-KK1MU
MMRE*^^)@W33;RV?/;+;6F]1.JJTNX<VRJC=I U_KU3.[K76:TZ1-\6PVG9X]
MVZ2F/'CYG)Y]JE\^K]JF,*7^5"O;;C9I??]*%]7MBX/DP#WX;%;K!A\\>_E\
MFZ[TM6Z^;C_5\.V9AY*;C2ZMJ4I5Z^6+@ZOD\M6,)M"(7XV^M<%GA5M95-4W
M_/(A?W$P18QTH;,&0:3P[T:_UD6!D "/?PO0 [\F3@P_.^CO:/.PF45J]>NJ
M^,WDS?K%P?Q Y7J9MD7SN;K]EY8-G2*\K"HL_56W//;TY$!EK6VJC4P&##:F
MY/_IG1 BF#"?[IDPDPDSPIL7(BS?I$WZ\GE=W:H:1P,T_$!;I=F G"GQ5*Z;
M&MX:F->\O.;34-526;,JS=)D:=D L;*J+1M3KM2V*DQFM%6'G^33T^?/&E@:
M 3S+9)E7O,QLSS+)3/U<E<W:JK=EKO,^@&> LT=\YA!_-1N%^$9G$W6<Q&HV
MG1V/P#OVA#@F>,=_G1#_>[6P30W\]']#A.!E3H:702&[M-LTTR\.0(JLKF_T
MP<M__B,YF_XXLHD3OXF3,>@O/]6FS,RV "1A'UE56L Y3Y'_AU =!3:,ZL@*
MEVID!Z=^!Z>C._AJ-0+6MC$@<MH.H?WG(*C+$;3./%IGHT"O]0I440-Z:%O5
MR U#>(V"&";G [AJE(KG'MWS471?IW:MTC)7&7[0_V[-35K .H/D_ ]!C=)U
M[A&=CT*_8O&R0(!, ^1%H7FQ6N>F445E[3 /C((=IK5;*QI;"^C_9:VCU]5F
MFY;WB%95Y]:I@1Z>MVM=JF:M58V:7S45B8/)=4WBH!8P=P,0VQ*>PPKP+"TF
MZC>-O D0#!%6I058QK3,M (;J_3=%NR5WL4*@(,E;&NM0/'D.D #<(.G<"8M
M3$JWV[K:U@;XOKBGI? EP*PLO$4,>U!A).@\4]S#-NJJ7:U5U=:J!%_ IB+A
M "]O,]@X4@H):3)&!T>R?=*U!5J8;(V+14PQQ,4J?[J?/;HQ@:^8<*^]^H#Q
MK]*"J'"-MLPRG7!;\%+I%*"[U?[YC_DL.?\14%J8PC3WB,TV[?:0XMXLRI*;
M(=L&_Z!9 Z=8&ZNU@5<UZ/B"2%X;C6L3.[1UC2()^RBKC<F4/SW;+0$'D%HX
M3^0#.#8-PM%$"*;*)^H=F(8*B.+8 39G2B*8; BY V@;(%H5Z*:X#2$:M;'?
M8%I6M+F^!!X".,4]CJ6CING GS@1"%3#-H!YK ;D$8 IX1EP&6PT-&9;P%+E
M,'O!M.[309@"%]=W\!@7&R("(\5HP^G6]Q%.0>O8$!S$?()2!*P'RX(<J++"
MS;8U'7"S3M&N-BV.U1;<)^ ?4Q0P"K SRR4<V+*N-H$*A[W1K+Z  0V BT#=
M+X7@AMEJV38H*1XF+X)O 1O 'L].(\Q<RV?@()S8%\6>K! _;E+4"* "@<_[
ME <M RQ(JAQ@;8 2*^1; <$48<&G'>T3<]C1TI2 @0&PR!Y$FF8=6;,Q15HS
M5V3K%+T/X#8 ES%JN8;OX!]J4BDX4QD@"&@Q@_Q'N@HYD'F.$ 5"@F.S1(^F
MH<.""2FO0,2^%1+"^;7,Z:3BB%-5NF')1FY"Y5@30P@=X9C(/\(31K2L')5*
M5[76N#B3LRH-G!OA596KBEB*Z!&1RB)U)Q)7ZQMTR,GI<%+MN!C 0OAA&[^N
M+(ILB?BA?@%6'Q-L&FKLMFU0MX)2:O'Y1+V5 ]L]*%2KMR!J#9)UN72<QQH
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
MK]T+'K/Y]"D"] YK<O)]@!>Q$@/QA8H- NO\!&"AZ@$5@X-%,#EO*C=8)(5
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
M)?R-"8,"L#[7VFU?$*#]OQO]#5!+ P04    " "JB&U8/3G;:&\"  !+!0
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
M',Y\_(?+:+J5ZEY7 (8\UESHF5\9LYD$@<XJJ*D^DQL0.%-(55.#0U4&>J.
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
M.1->#84#IS?^=<Q".Z<+_W,M!3HE">#Z4FM7'Y""YOW<Y=]02P,$%     @
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
MB<<S\^8]>\;I4>DG;  ,>6Z%Q(PVQG3+*,*B@9;A1'4@K:=2NF7&FKJ.L-/
M2I_4BBB93A=1R[BD>>KWMCI/56\$E[#5!/NV9?KW&H0Z9C2FIXU'7C?&;41Y
MVK$:=F"^=EMMK6A$*7D+$KF21$.5T56\7,]=O _XQN&(9VOBE.R5>G+&YS*C
M4T<(!!3&(3#[.\ ]".& +(U? R8=2[K$\_4)_:/7;K7L&<*]$M]Y:9J,OJ.D
MA(KUPCRJXR<8]-PZO$()]%]R#+%W"25%CT:U0[)ET'(9_NQY.(>SA.2EA&1(
M2#SO4,BSW###\E2K(]$NVJ*YA9?JLRTY+MVE[(RV7F[S3+X+ET%419#7DE>\
M8-+8PRI4+PV7->F4X 4'O"$[J.UU&'L7G=+>]V8#AG&!;]/(6#(.,BJ&PNM0
M.'FA<)R0!R5-@^2#+*'\%R"R*D8IR4G*.KF*N(%B0F;Q#4FFR>Q$]@KN;#RB
MF<>=O71$_\G^L=JCT;:A?E[2'=#FE]'<D"VQ8P5DU$X1@CX S5^_BA?3]U>X
MSD>N\VOH^9>^W8-VM[GOT?H0"0;Z>(EJ %MX,#>^ASQ.H\-Y_>BLM5K0M1\@
M)+X[0I>-N^.,KD)K_@T/ _[ =,TE$@&539U.[FXIT6%H@F%4YQMUKXQM>[]L
M[#L#V@58?Z64.1FNP/ARY7\ 4$L#!!0    ( *J(;5A)!S;<^0(  .8'   9
M    >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;*U536_;, S]*X)7#!W0UE^)
MDW:)@7QLV X%BF;=#L,.BLW$0F7)D^2D^_>C;,=+$R?H89=$DLFG1SZ*'&VE
M>M89@"$O.1=Z[&3&%'>NJY,,<JIO9 $"OZRDRJG!K5J[NE! T\HIYV[@>9&;
M4R:<>%2=/:AX)$O#F8 '1729YU3]F0*7V['C.[N#1[;.C#UPXU%!U[  \U0\
M*-RY+4K*<A":24$4K,;.Q+^;#:Q]9?"=P5;OK8F-9"GEL]U\3<>.9PD!A\18
M!(I_&Y@!YQ8(:?QN,)WV2NNXO]ZA?ZYBQUB65,-,\A\L-=G8&3HDA14MN7F4
MVR_0Q-.W>(GDNOHEV\;6<TA2:B/SQAD9Y$S4__2ER<.>@Q^=< @:A^#0H7?"
M(6P<PBK0FED5UIP:&H^4W!)EK1'-+JK<5-X8#1-6Q851^)6AGXD7M7I$KHAF
M:\%6+*'"8'8360K#Q)H4DK.$@;XBD_I0HWH)L U=<B!4I"11D#)#N-0:-+F<
M@Z&,ZP_DFCPMYN3RX@.Y($R0;YDL-=KKD6N0N;W?31J6TYIE<(*E'Y![*4RF
MR2>10OH:P,60V[B#7=S3X"SB')(;$OI7)/""L(/0[.WNP1DZ82M#6.&%)_ F
M')\3%0GF#U\F@9<"RQP.4_OS47).L'RW5*6_NM)8W]+KOL5VA#M=T 3&#CYY
M#6H#3OS^G1]Y'[M2\)_ 7B6DUR:D=PX]GE)NTW%%EK!F0MA"Q!(M0#&9=@5>
MH_4K--NY-G'8]T?N9C^>8YO OVUM7M'LMS3[9VE.4I0'VY$F24;5&A4SDB12
MXR.Q+\/J*%"Y+L8U<+3')O*B \;'-G[/ZV8<M8RCLXSGD)95!^TD%1U=>.T/
M;P]8=1@-NTD-6E*#MZD-F+2S.@^.-!Q$PP-^QS;[M5 3=/=:9@ZHG)TDJ*)M
M<'47:4_;836I>O3!^12'6#US_L'4$_ >"X)A97!8(:1W,T!&JIXJ]<;(HFK,
M2VFPS5?+# <Q*&N WU=2FMW&7M".]O@O4$L#!!0    ( *J(;5B7BNQ)^@,
M "H7   9    >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;+5876_;-A3]*X16
M#"W012(=.TYF&TB<!-V#L:!>MX=B#[1T91.52)6D8A?8CQ_U$<DJ9"8*F!=;
MHG@/[[D\H@[N;"_D-[4#T.B0)ES-O9W6V97OJW '*55G(@-NGL1"IE2;6[GU
M52:!1F50FO@D""9^2AGW%K-R[$$N9B+7">/P()'*TY3*'S>0B/W<P][3P&>V
MW>EBP%_,,KJ%->@OV8,T=WZ#$K$4N&*"(PGQW+O&5TM"BH!RQM\,]NKH&A54
M-D)\*V[^B.9>4&0$"82Z@*#F[Q&6D"0%DLGC>PWJ-6L6@<?73^CW)7E#9D,5
M+$7R#XOT;NY-/11!3/-$?Q;[3U 3&A=XH4A4^8OV]=S 0V&NM$CK8)-!RGCU
M3P]U(8X"\.1$ *D#R,\!YR<"1G7 J"1:95;2NJ6:+F92[)$L9ANTXJ*L31EM
MV#!>;.-:2_.4F3B]6%?;AT2,%-MR%K.0<FVJ&XJ<:\:W*!,)"QFHC^B>'2!"
M5"G0"KV_!4U9HCZ@W]"7]2UZ_^X#>H<81RN6)&:#U,S7)K]B%3^L<[FI<B$G
M<L$$K037.X7N> 11%\ WQ!IVY(G=#;$BWD)XAD;X(R(!&?4DM'QY.+&D,VJ*
M/2KQ1B?P.@7\>KU16AH9_]M7J0KHO!^H>+>O5$9#F'OFY54@'\%;_/H+G@2_
M][%T!-;A?-YP/K>AFQH:T)#1\J6%@SE^%/01KE"F)4IQ]CPN\)G9LL=C'GUS
M<#.GD]ZX26]L3>\O8>1M5/YU!>D&9.]>6!&&[H4CL [924-VXDI_$Y><'8%U
M.%\TG"^L&WRG-#.GO>&=*XCS!"4L[A6@'6:,?@"5?8?:TAKX2G;3AMW4FM:*
MACLS9 YPRB-T]SUGF?G&:JN<K8A#M]816(?\94/^TI6<+UUR=@36X8R#]H,=
MN!'T,S@X."UI>^AK*1YY$FQ-[3Z7G.E<0JGJ/V-C2J!'W.@_8S8X2_/4JG?[
M8D,WWQ5:MS2D+0UQI?D:R15O1VA=WJUSPE:3,D#U=AS+.6Z/?"W#UB=ANU$:
M('IZ>%[TUL4&;[XCM&YI6H^&Q\Y$[]2LN4+K\F[M&K8ZHP&BM^-8C_JW,&>X
M=6?8[JN6(LUR#1*M1:SWM%;_Z\]Z1V:LKLU;6#O<>CL\=29[IZ;.%5J7=VOK
ML-5!#9"]'6=D4?U;>#C2>CAB]UY#5/^"P]Z^VM#==X76K4UK_@AVI7KBU-FY
M0NOR;IT=L3JHEZO^&9R+TZJW1PYEZ!]U'5.0V[(9JU#9.*Q:=,UHT_"]+MN<
M/XW?X*MEU;9M8:HN\HK*+>,*)1 ;R.#LPGR/9=68K6ZTR,K>YD9H+=+R<@<T
M EE,,,]C(?333;% TQY?_ ]02P,$%     @ JHAM6&8I07L$ P  EPP  !D
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
MUW5PN0?K9?+X?_QG_4(\"RB=[@"S#C#W ^PC 58=8)T:8-<!]JD!HSI@=&K
MN X8GQHPJ0,FIP9,ZX#IJ0&S.F"V'S ^]L;I3^^<?NHVC-V;_7C2/9XEVU/,
MB8OXZB)+'[2L&E]ZU1?;\W0;7YY9RZ1*J>LB*[^[+..*J^O'5-+26RU?+I+E
M[7(>)T5YIL_3^Z18)@MMDZZ6\Z7,?]<^RF\RN9=E)LW3<N@V)?ZF.<L\7BPR
MN8BW3Y105H_[U9%%O%SEOY6C/E\[VJ^__*;]HBT3[=-=>I_'R4U^,2S*8ZCV
M9#BO]_?MX_Z:1_;7TMZG27&7:VYR(V\ZXD-UO&$J@&'YXNU>0?/I%7QK*D5'
MSE]IEO&[9NJFU;%#[]3AUW)3ANM'PQUU>'B?*,-==?C[.%/NO'?ZL9L=X?[I
MQ]X5'IQ^[%WAXO1C[PH/7_:^1S_]TK5.0VN7R-;6LUZ<R-I_WGS)BZR\F/VW
M*_\>-V-W;Z:ZPK_.-_%<7@[*2W@NLV]R</77OQAC_>]=YSZ).23FDIA'8CZ)
M!20F2"PDL0C"6IEG[S+/5NE7GV2VKM+N-I-2JZK80B9Q,I?:_::\'L[3]68E
MGRZ->7I;/,29+*^">1&O5MMK9E<6*C?9-PM)S"$QE\0\$O-)+" Q06*A^M0V
MM.\RSKH2#MJ)5L*-=@DW4E[JCE><ZBO;B,PI$G-(S"4QC\1\$@M(3)!82&(1
MA+42;;Q+M+$R_?\A"RV/5[+S][3'T-$VM/K@YMN589GCT<7PV_,TZ1@U,69Z
M>Y33,6HVT\?M4>[A*-,T)WN6U[7%V6C:'N5WC9J.]K88=(PRQU6U_WR4.!PU
MF^AF>U!X.&ABCBVC/2HZ'#6:&M9L-ZKU-DYV;^-$^39^+G]7ES?:=1$75?7_
M7JZ_R*SS)Z32Z?L3DL0<$G-)S",QG\0"$A,D%I)8!&&MU)KN4FMZEE)D2B8:
MB3DDYI*81V(^B04D)D@L)+$(PEJ)-MLEVNSG2Q%E:-]L(C&'Q%P2\TC,)[&
MQ 2)A8_8N%6=Z>.] C0Z'&7;NF5WUW"&WDS4Z,H,$$DALV1[G8E7RBI.#?7-
M!U1S4,U%-0_5?%0+4$V@6HAJ$:6UT^S9?*AQEHJN9JFD(S4'U5Q4\U#-1[4
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
M:D#Y_=LT+9X>5!MX2+.OV\.Y^C]02P,$%     @ JHAM6--5^R!/ P  $PL
M !D   !X;"]W;W)K<VAE971S+W-H965T-#4N>&ULK5;;<MLV$/T5#)OI.#.1
M29"ZNA)G;*F9]B$9CQVW#YD^0.1*P@0$5 "2DGY]%R#%2#1-Y^(7B0!VSY[=
M@\M.#TI_,AL 2SX70II9L+%V>Q6&)MM P<REVH+$E972!;,XU.O0;#6PW#L5
M(HRC:!@6C,L@G?JY6YU.U<X*+N%6$[,K"J:_W(!0AUE @^/$'5]OK)L(T^F6
MK>$>[,/V5N,HK%%R7H T7$FB834+KNG5G'H';_$7AX,Y^28NE:52G]S@SWP6
M1(X1",BL@V#XMX<Y".&0D,>_%6A0QW2.I]]']+<^>4QFR0S,E?B;YW8S"\8!
MR6'%=L+>J<,?4"4T<'B9$L;_DD-E&P4DVQFKBLH9&11<EO_L<U6($P<Z?,(A
MKASBID/_"8>D<DA\HB4SG]:"699.M3H0[:P1S7WXVGAOS(9+)^.]U;C*T<^F
M]Z5\1*V(X6O)5SQCTF)U,[63ELLUV2K!,P[F#;F#/<@=H'J90E,O0X_,E;0:
MU<!J"B8S,.1B 99Q85[CZL/]@ER\>DU>$2[)AXW:&29S,PTM<G<,PJSB>5/R
MC)_@26/R#@-M#/E=YI"? X28=)UY?,S\)NY$7$!V21+ZAL11G+00FG^[>]Q!
M)ZF%2#Q>\M-"D(_72^-+_D];'<LP_?8P[E:X,EN6P2S 8V] [R%(?_V%#J/?
MVFKP0F!G%>G7%>EWH:>-[?9?4_4RW1)CX#'<G;5/:3^*IN'^-(W.0#^8QJ!.
M8] I['N\B[/C&;D0G"VYP+,#>#R8,6"?TW/PDGJ^$-A9(89U(8:=>CY(S%Q
M[@0%OF=+X2Z5;*<U2-N6>0DW/)-VT%!V^$C^9!+7-F<\1S7/T0_PE$KV.KB.
M'G.-F[NPQ6:8M',=UUS'G5SG_H4 35"OWI9]P0?6MMZNXT>Q>W30+&:;443;
M&4YJAI-.A@M8 5;-5=,?YT[%)VT$1I,&S3:K))ZT\Z31UY<P^DZFSVA>X9T1
MB:,FVS8KVG]"=WKR;M-.ML]>*ZV,Z:/CTJ-T-&Y2;C.+Z+C!.3QI.W /KGTW
M9HA_L,H.I)ZM.[YKW^>$7\W+=O$=TVLN#1&P0M?H<H2Q==F!E0.KMKZ)62J+
M&]Y_;K!K!>T,<'VEE#T.7("Z#T[_!U!+ P04    " "JB&U8&480\1D#  !O
M#0  &0   'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6S%EVMOVC 4AO^*E553
M*U$2ASL#I%XV;1^JH;)N'Z9^,.$$K#IV9IO+_OUL)PVI!F%B94.(Q,[QRW/L
MUSK.8"WDDUH :+1)&%=#;Z%UVO=]%2T@(:HN4N#F22QD0K1IRKFO4@EDY@8E
MS ^#H.TGA')O-'!]8SD:B*5FE,-8(K5,$B)_7@,3ZZ&'O>>.>SI?:-OACP8I
MF<,$]$,ZEJ;E%RHSF@!75' D(1YZ5[A_C5MV@(OX2F&M2O?(IC(5XLDV/LV&
M7F")@$&DK00QEQ7< &-6R7#\R$6]XC_MP/+]L_H'E[Q)9DH4W CVC<[T8NAU
M/32#F"R9OA?KCY GY  CP93[1>L\-O!0M%1:)/E@0Y!0GEW))I^(TH PW#,@
MS >$CCO[(T=Y2S09#:18(VFCC9J]<:FZT0:.<KLJ$RW-4VK&Z=$D6PTD8J3H
MG-.81H1K,UF16')-^1RE@M&(@JJA>U@!7X)9C$B84#>KEZ;7+KZ+!.ELPB-
M8LKHG-@0A<YO01/*U 4Z0Y2C.\J8[1_XVB1@,?PHA[W.8,,]L+<0U5$#UU 8
MA WT,+E%YV<7+V5\DW\Q"6$Q":'3;>S1/9S"]ZNITM)8Z'$7=:;>W*UN]U5?
MI22"H6<VC@*Y F_T]@UN!^\JV!L%>Z-*_3#[+N!,LNLD[;Y=C;IUW'OQ&?BK
M'53-@JIY@,I9I59RQ[B$][G JZ'WF]3L4)BA+S2Q<<:)$_-(Q23* B::2(V,
MN\$LPX:JQ[Y=_^9E@,UW5W:5:$<N1ZM(O'52*[5.P-XNV-NO;Z7V;U;JU/>8
MIU-P="HY"D?HPA'JA2,,'A6S7335PCA$B>!ZH2HFJUM =O^SPUO['5Z)=J1+
M>D7BO9,ZO'<"=AQLRUWP^A[/-<LF#^KA;I/C4N7%I[+Y >4_\3G>%D=<6;_^
M@=/;^YU>S7:L7;;%%3=.:G9<6;R/Q=]687RH#!_C]B/J)ZK"W=9.7%G>_FI'
M5"M7[@B_='RVKR)W1,ZI65H&L1$+ZAVC+;/3?=;0(G4GZJG0YGSN;A?FC0BD
M#3#/8R'T<\,>THMWK-$O4$L#!!0    ( *J(;5BK6AT1$@,  '0,   9
M>&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;+5776_3,!3]*U:0$$C0?/1[M)':
M#L8>)DWM@(>)!S>Y;:PE=K#==DC\>&PG\YHJC9C(7IK8ON?DW.-;YV9R8/Q!
M)  2/68I%5,GD3*_<%T1)9!AT6$Y4+6R83S#4@WYUA4Y!QP;4):Z@><-W P3
MZH03,W?+PPG;R910N.5([+(,\]]S2-EAZOC.T\22;!.I)]QPDN,MK$!^RV^Y
M&KF6)2894$$811PV4V?F7RQ\ S 1WPD<Q-$]TJFL&7O0@^MXZGA:$:0024V!
MU64/"TA3S:1T_"I)'?M,#3R^?V+_8I)7R:RQ@ 5+?Y!8)E-GY* 8-GB7RB4[
M?(4RH;[FBU@JS"\ZE+&>@Z*=D"PKP4I!1FAQQ8^E$4< ?W &$)2 X!30.P/H
MEH"N2;109M*ZQ!*'$\X.B.MHQ:9OC#<&K;(A5&_C2G*U2A1.AJMB^Q#;($&V
ME&Q(A*E4[D9L1R6A6Y2SE$0$Q >T8#0"*CDV&Z 0$8>82,2)>$#O+D%BDHKW
MZ"-:&-W 3Q!+'7=_ ]D:^,^)*Y5\+<*-2JGS0FIP1JH?H!M&92+09QI#7"5P
M5=XV^> I^7G0R'@)40=U_0\H\()NC:#%O\.#!CE=NQ==P]<[PS<K3!=H"1&0
M/5ZG8.U"?]#UU5VC>XWD^CBX$#F.8.JH_[L O@<G?/O&'WB?ZC)OB:SB0\_Z
MT#/LW3,^--;9_6PMU%(D:SWHM>E!2V05#_K6@WYC+50],)GGP/64.ESK,B_H
MQH9.G]W[T.L$HXF[/\ZH+L@/;%!%Z< J'?Q/U=XE@.9<'Z;HBK-=WEC"C4]Z
MZ?:U1%8Q96A-&;Y6"0_;]* ELHH'(^O!J-T2'M54IS<^*>&Z(-^O+^&Q53IN
M5+K"*8B7'+6-="_=HY;(*IG[WO/[WWNM2BV96[*A+;:J#T=]D-]NM99\)Y78
M/RG7^JB3<G6/^C?5-FU-6RN0.5>+;L;.VM9Y9AK&D_FY;JE-7_A,4_3C-YAO
M"14HA8VB]#I#]2K@18M;#"3+39>X9E+U;N8V49\%P'6 6M\P)I\&^@'V0R/\
M"U!+ P04    " "JB&U8&6A0TH "   ,!@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970T."YX;6RM5>]OFS 0_5=.K)I:J2L$Z(]U"5*3;-H^5*J:=?LP[8,#
M!U@%F]DFR?[[G0UA:9=4F[0OP3[N/;]WYB[CM52/ND0TL*DKH2=>:4QS[?LZ
M+;%F^DPV*.A-+E7-#&U5X>M&(<L<J*[\, @N_)IQX25C%[M3R5BVIN("[Q3H
MMJZ9^CG%2JXGWLC;!NYY41H;\)-QPPI<H'EH[A3M_($EXS4*S:4 A?G$NQE=
MSV*;[Q*^<%SKG358)TLI'^WF4S;Q BL(*TR-96#T6.$,J\H2D8P?/:<W'&F!
MN^LM^P?GG;PLF<:9K+[RS)03[\J##'/65N9>KC]B[^?<\J6RTNX7UGUNX$':
M:B/K'DP*:BZZ)]OT==@!C"X. ,(>$#X'Q < 40^(G-%.F;,U9X8E8R77H&PV
ML=F%JXU#DQLN["TNC**WG' F672W!S('S0O!<YXR8:BZJ6R%X:* 1E8\Y:A/
MX;TH"(V*HJ=4*IL/3&30*)FUJ:'0BKZ*AN[8P/$<#>.5/H$W\+"8P_'1"1P!
M%_"YE*TFE![[AO1;%7[::YUV6L,#6D<AW$IA2DU*,LR>$OAD?' ?;MU/PQ<9
MYYB>030ZA3 (HSV"9G\/#U^0$PV7$3F^Z #?OQ3XV\U2&T5=\'U?(;MSXOWG
MV,EPK1N6XL2CUM>H5N@EKU^-+H)W^XKPG\B>E"0>2A*_Q)[<$R-3:>GJL.L?
M-S3(-.XSWS&>.T8[Q5;)VSBF^UGMFOHSZ>K\,AB2.K'^3F/5J HW;S2XWNB^
MLB$ZC+0;U\G/XE,:==UD^DW3S<E;INC2-528$V5P=DF25#=[NHV1C6O?I30T
M#-RRI'&-RB;0^UQ*L]W8 X8_@.074$L#!!0    ( *J(;5C#CG8_7P(  +P%
M   9    >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;*U4VV[;, S]%4(KAA;H
MXEMZ0><8R&5#]U"@:-#M8=B#8M.V4%GR)"7I_GZ2['AIEQ1[V(LM4CQ'/)3(
M="O5DZX1#3PW7.@)J8UI;X) YS4V5(]DB\+NE%(UU%A358%N%=+"@QH>Q&%X
M&324"9*EWG>OLE2N#6<"[Q7H==-0]6N&7&XG)"([QP.K:N,<09:VM,(EFL?V
M7EDK&%@*UJ#03 I06$[(-+J9CUV\#_C*<*OWUN"4K*1\<L:78D)"EQ!RS(UC
MH/:WP3ER[HAL&C][3C(<Z8#[ZQW[9Z_=:EE1C7/)O['"U!-R3:# DJZY>9#;
M6^SU7#B^7'+MO[#M8T,"^5H;V?1@FT'#1/>GSWT=]@#1Y1% W /BUX#Q$4#2
M Q(OM,O,RUI00[-4R2TH%VW9W,+7QJ.M&B;<+2Z-LKO,XDRV[&X/9 F:58*5
M+*?"V.KF<BT,$Q6TDK.<H3Z':;%!99AVWM,%&LJX/H,/\+A<P.G)&9P $W#'
M.+?WH]/ V/3<(4'>IS+K4HF/I!+%<">%J35\$@46+PD"JVL0%^_$S>(W&1>8
MCR")SB$.X^1 0O-_A\=OI),,M4X\7W*$;[]^WZ<K;91]Q#\.%:KC&1_F<8U]
MHUN:XX38SM6H-DBR]^^BR_#C(9'_B>R%Y/$@>?P6^PO)^&Q'C\9#>CN2:T_B
MYLXFBT97:;#9E_%W3#**AI@NNV"O$1I4E9\/&OQ;[I[-X!U&T-1WWBO_S(ZF
M;I+\H>GFVAU5%1,:.):6,AQ=71!0W:SH#"-;WVXK:6SS^F5MQRLJ%V#W2RG-
MSG '# ,[^PU02P,$%     @ JHAM6.G$YVYF @  .P8  !D   !X;"]W;W)K
M<VAE971S+W-H965T-3 N>&ULK57+;MLP$/P50@V*!&@MZ^%'7%M 8B-H#@4,
MNVD/10^TM+:(4*1*TE;Z]UU2BJ D2I!#+Q:7W!G.D,OUO)+J7N< ACP47.B%
MEQM3SGQ?ISD45 ]D"0)7]E(5U&"H#KXN%=#,@0KNA\/AV"\H$UXR=W-KE<SE
MT7 F8*V(/A8%57^O@<MJX07>X\2&'7)C)_QD7M(#;,'<E6N%D=^R9*P H9D4
M1,%^X5T%L^7(YKN$'PPJW1D3ZV0GY;T-;K.%-[2"@$-J+ /%SPF6P+DE0AE_
M&DZOW=("N^-']AOG';WLJ(:EY#]99O*%-_5(!GMZY&8CJZ_0^'$"4\FU^R55
MG1M//)(>M9%% T8%!1/UESXTY] !!/$K@+ !A.\%1 T@<D9K9<[6BAJ:S)6L
MB++9R&8'[FP<&MTP86]Q:Q2N,L29Y%:<0!BI&&ARO@)#&=<7Y#.YVZ[(^=D%
M.2-,D.^Y/&HJ,CWW#>YID7[:\%_7_.$K_"M(!R0*/I%P&$8]\.7[X>%3N(].
M6[MA:S=T?-$[[/ZZVFFCL(Y^]]FJ>>)^'ONV9KJD*2P\?#P:U F\Y..'8#S\
MTF?R/Y$]L1RUEJ.WV),-K;!@#"A&N29XBZ0\JC3'TL](*HM2"CP14E)E>J^W
M)A\Y<ML23LEE-,6K.'7]O4R:3J=QF_1$=]SJCM_4?<,$P[K.R$'*_LJK\>/N
MKM%D\DS:RZ0HB%^1-FJEC=Z4UJFB/EVC%Z<13":CRV?">K*PR*?/E/F=IVW;
MZC>J#DQHPF&/N.%@@@2J;E5U8&3I7OM.&NP=;IAC=P=E$W!]+Z5Y#&P#:?\O
MDG]02P,$%     @ JHAM6+F*^\$F!   ]14  !D   !X;"]W;W)K<VAE971S
M+W-H965T-3$N>&ULM5C;;MLX%/P50ELL6B")1.KJK&T@=5JT0(,&3=M]*/:!
MEFB;J"2J)&6G^_5+72)9LJS:&_8ET>6<X1ER: W/=,?X=[$A1(+')$[%S-A(
MF5V;I@@W),'BBF4D56]6C"=8JEN^-D7&"8[*I"0VD65Y9H)I:LRGY;-[/I^R
M7,8T)?<<B#Q),/_YFL1L-S.@\?3@$UUO9/' G$\SO"8/1'[)[KFZ,QN4B"8D
M%92E@)/5S+B!UPMD%PEEQ%=*=F+O&A14EHQ]+V[>1S/#*BHB,0EE 8'5ORU9
MD#@ND%0=/VI0HQFS2-R_?D)_6Y)79)98D 6+_Z:1W,R,P  16>$\EI_8[AVI
M";D%7LAB4?X%NRK6]0T0YD*RI$Y6%20TK?[CQWHB]A*@<R0!U0GHU 2[3BAG
MSJPJ*VG=8HGG4\YV@!?1"JVX*.>FS%9L:%HLXX/DZBU5>7+^ECZ2"& AB!07
M(%6Z>7E+)*:Q> 4NP9>'6_#RQ2OP M 4?-ZP7. T$E-3JI&+?#.L1WE=C8*.
MC')+PBM@PPN +&0/I"].3T?==%/Q;4BCAC0J\>P32(-O-TLAN9+3/T.\*B!G
M&*C88]<BPR&9&6H3"<*WQ)C_^0?TK+^&6&H"ZW"V&\[V&'J'\Q#1*MLMLXN]
MOYTCRT?NU-SN,SB,@I.)CYJH3FE.4YHS6MH'(L0UN G#/,EC+%69$5$S$%)<
M[?14U9TP+NF_Y8.AZJL!O+VZ+F'@.5ZO_*$PWW.]X?K=IG[WY*DM]]!0A>[!
MT,A!L%??0) ?P.'JO*8Z;[2ZSXRI1^L+<(?#C7K'?Y8S^N9'3C/U>RS!MSN2
M+ D?E/\H]+GRUP36F06_F05?UY;W=7+6!-;A'#2<@V=M^>! ;;[KH9XD#X.\
MP)T,2W+2%#89+RSG*94Y)Z42/ZY6-"0G"G(4^-S%T036F0-HM5]>2Y<D:R1-
MM'6A=7GO.0[X+%G6Z5[W4Q3T=#D0!8/@R)<(MLX CGZ$YPN69+DD'#RPE=SA
M6J*G:7,<^NQ5^AUN ;9V =K:U#GJ/,[FK0FMR[OU(G#<C/Q2G8<>(H 3JZ_.
M@2C;"8ZHLS4:<-QI?"#JQ+)A<03>)QEG6U)H4HR+<A3Q[,71A-;EWUH9Z&D3
MI5;KH@NMR[LU+W#4)_Q:E/[A3V8PZ9OWP:C /B+*UF7 4VS&36U_WSR&<1XI
MPPD6+%7KDU?'=9I>WG,6*J<_KM;1H<Y>-4UHW8EI70Z<:%.K5E^C"ZU[N&Z-
M#1HU$*>=AVJ,WE=^TI/L4)0-CYS74&M!T+@%^3_2'(<\NQ6@":T[ 7L-$'T=
M$+TMD-_A:E#K:M#SNB#HL,%A._TCT4"0X[D]39I[/;FB(7J'^9JF L1DI;*L
M*U^E\ZK'6-U(EI5MNB63DB7EY8;@B/ B0+U?,2:?;HK.7]/IG?\'4$L#!!0
M   ( *J(;5BL;P_$I@,  /(/   9    >&PO=V]R:W-H965T<R]S:&5E=#4R
M+GAM;+67WX^;.!#'_Q6+JTZMU%TP!))LDTC[XWK7AY6B[O;NH>J# Y-@%>R<
M;3;;^^O/!D("(=ZF35\2(#-??V8R9CR3#1=?90J@T'.>,3EU4J765ZXKXQ1R
M(B_Y&IC^9<E%3I2^%2M7K@60I'3*,]?WO,C-"67.;%(^FXO9A!<JHPSF LDB
MSXGX=@,9WTP=[&P??*2K5)D'[FRR)BMX /5I/1?ZSFU4$IH#DY0S)& Y=:[Q
MU2T>&H?2XF\*&[EWC4PH"\Z_FIL/R=3Q#!%D$"LC0?37$]Q"EADES?%O+>HT
M:QK'_>NM^OLR>!W,@DBXY=D_-%'IU!DY*($E*3+UD6_^@CJ@T.C%/)/E)]I4
MMJ$VC@NI>%X[:X*<LNJ;/->)V'/ T1$'OW;PNPZ#(PY![1"4@59D95AW1)'9
M1/ -$L9:JYF+,C>EMXZ&,O,W/BBA?Z7:3\T^,$78BBXR0$1*4/(M8KIX7M^!
M(C23;] %^O1PAUZ_>H->(<K08\H+25@B)Z[2RQL1-ZZ7NJF6\H\LA7UTSYE*
M)?J#)9"T!5S-W<#[6_@;WZIX!_$E"O!;Y'M^T -T^_WNO@4G:'(9E'K!L5PF
MP!1=4F*R2;N)19^O%U()7;=?^G)720_ZI<UFOI)K$L/4T;M5@G@"9_;[;SCR
MWO7%?2:Q5A8&318&-O79GX)+B4C."Z;Z JV\P]+;O&2>9GKA:.(^[0?P@E$+
M+&S 0BO8=1P7>9$1!8G!$XK^1\RKI ^R4HKVUK_ (1YU*/NL@FC0CQDUF)$=
M<P\-P;-^7TOH0XP.%L?AH /89Q/VXPT;O*&UR-\7JA#02N"6\H4*'YZSPL\D
MUDK!J$G!R/H/Z=?%H"_ T4&V1]V*L0K_(/:XP1Y;L1]3T(U^J4#TP8\/X+T.
MNU7]!]FQM^M3GI5^7H@XU?TZ08\0IXQG?/4-?;Z'? &BM]SL>J?6V[G4VM'O
M=6G\ZUI+K7VN3)Q)K9T)?Y<)_Z?:2^W>?N>-<:>67[)JP^T. -C:64]J,;54
MI\=X09>TSRP8C(^@[KHTMK?IN89DIG1L6\@J<7+AG$FM'?"N^^/P%VXAZ]'B
MY$R<2:V=B=T! ]M/&"]NH;YC0[<LK39ML-W1 EO;]FG;9WAP1+PXI+0;59CN
MWO24@UB50Z5$L4E/-8LT3YO!];H<USK/;\Q 6TYE.YEJ&KXG8D691!DLM:1W
M.=1$HAHPJQO%U^6,MN!*3WSE9:J'<A#&0/^^Y%QM;\P"S9@_^Q]02P,$%
M  @ JHAM6+XRR%68 @  <@<  !D   !X;"]W;W)K<VAE971S+W-H965T-3,N
M>&ULK95=;YLP%(;_BL6JJ96V\@U=1Y#:1--V,2UJVNUBVH4#)\&JP<QV/O;O
M9QN*TN!&G;0;L.&\KY\7\"';,?XH*@")]C5MQ,2II&RO75<4%=187+(6&G5G
MQ7B-I9KRM2M:#K@THIJZ@><E;HU)X^29N3;G><8VDI(&YAR)35UC_N<6*-M-
M'-]YNG!'UI74%]P\:_$:%B ?VCE7,W=P*4D-C2"L01Q6$^?&OYZFNMX4?">P
M$P=CI),L&7O4DR_EQ/$T$% HI'; ZK2%*5"JC13&[][3&9;4PL/QD_LGDUUE
M66(!4T9_D%)6$^?*026L\(;*.[;[#'V>6/L5C IS1+NN-HX=5&R$9'4O5@0U
M:;HSWO?/X4#@1R\(@EX0O%80]H+0!.W(3*P9ECC/.-LAKJN5FQZ89V/4*@UI
M]%M<2*[N$J63^4U1\ V4B!*\))1( @*=ST!B0L4%>H\>%C-T?G:!SA!IT'W%
M-@(WI<A<J=;6#F[1KW/;K1.\L,X,BDL4^N]0X 6A13Y]O3QX+G=5XB%V,,0.
MC%_X#[%_WBR%Y.J[^F6+U_E%=C^]UZY%BPN8.&HS">!;</*W;_S$^V@+^Y_,
MGD4/A^CA*?=\@2GF.J]ZD:A@M>H' LMN4U(LH;2E[RQC8ZD;PS8/HSC.W.UA
MJG%1D$;14/2,-AIHHY.T]W@/UL^MDR4'BUVEWA'0N"8./3M///#$)WGFG*U
MZ!Z&:?\$&Z%:!FG6-LIX1. G_A'EN"9,?3ME,E F)RF_R0JXC2<9K16->"PU
M86#G20>>]"2/9;O9Z-+1!Q1]B-(C/$N1EZ9'?.Y!1]1_HZ^8KTDC$(65DGF7
MJ=+SKL-W$\E:TR273*J6:X:5^BD"UP7J_HHQ^331?7?XS>9_ 5!+ P04
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
MV9ER$$5U_+95G&*XT4$^]WOX>/MHM8K.3B1^79S@%U8G/_!WE2=NUU^=I[I
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
M+JIBC$%R1)$<@4FNA7TZZ@./T:3/O#Y;G*E3FRUS. .7 U?01UJ@KQLW=10
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
MG2%24]7YOVH8N79'Z(4T>"!WCRN\,X&R _!]+J5Y;]@)FEO8]#]02P,$%
M  @ JHAM6/(X<!J2 P  B@L  !D   !X;"]W;W)K<VAE971S+W-H965T-C0N
M>&ULK5;;;MLX$/T50BT6+9!&-]^2M07DTJ(%MD"0-+L/Q3[0TL@B0I$J2=G.
M?OT.*5OQ11:*("\V2<T<GC/#(6>ZDNI)%P"&K$LN],PKC*DN?5^G!914G\L*
M!'[)I2JIP:E:^+I20#/G5'(_"H*17U(FO&3JUNY4,I6UX4S G2*Z+DNJGJ^!
MR]7,"[WMPCU;%,8N^,FTH@MX /-8W2F<^2U*QDH0FDE!%.0S[RJ\O F=@[/X
MF\%*[XR)E3*7\LE.OF4S+[",@$-J+ 3%OR7< .<6"7G\VH!Z[9[6<7>\1?_B
MQ*.8.=5P(_D_+#/%S)MX)(.<UMS<R]57V @:6KQ4<NU^R6IC&W@DK;61Y<89
M&91,-/]TO0G$CD,X.N$0;1RB0X?!"8=XXQ [H0TS)^N6&II,E5P19:T1S0Y<
M;)PWJF'"IO'!*/S*T,\DWT0J2R"&KD&?D4>A()4+P?Z#S*Z1.0C(F='DPRT8
MRKC^2#Z1QX=;\N']1_*>,$%^%++65&1ZZAOD8U']=+/W=;-W=&+O,"+?I3"%
M)I]%!MD^@(]"6C715LUUU(MX"^DYB<,S$@51W$'HYO?=HQXZ<1O<V.'%OQ%<
M\O-JKHW"8_MO5Z0:H$$WD*WE2UW1%&8>%JL&M00O^>-=. K^[%+Y1F![F@>M
MYD$?>G+Z")F"&BSJFF<DITNIZ)P_$YKG6- $W!\6-!ZI;<R(H@;G.7D![(I<
M0V?HZ-A+:YF$%^.IO]P-2(?-(&IM]G0.6YW#WMR>UOGS7G).\))9495U)GOX
MELE^(["]((S:((Q>E^PS'"V8$$PLB,Q)!8K)SNPU^*,3F6D4=MD,NK,W;HF/
M>XG_0*Z5U,P^)7@RZ1,(DM7*TC4%X,6K% C3PWM\Q&D2'] ^-HE&W:PG+>M)
M+^N_:*7!QE,;:FKCAIR5#&=61Q?/R1&)3]'D@&B_S1[3BY;IQ6L/!HBL_TA<
M'*?[J* [;$X5=!B\/(5!+^G/ZPHO(22<08HMD;:7$:E/UCE^%+ VY!FHZGS\
M@B.2@^! 1S^C5U9ON//XA[V*K])4U:B+"0.(;P@^Y)@90;EA^&0IX-3&PT@,
M0PH*.P#A8M"63J?N\.BVC8:'NH]MXL.2]G>ZFA+4PC5[FJ2R%J9I"=K5MJ&\
M<FW4P?JU;31=M_0"TW2IWZG"6TH3#CE"!N=C)*2:QJ^9&%FYWFDN#79B;EA@
MLPS*&N#W7$JSG=@-VO8[^1]02P,$%     @ JHAM6(V^FH;D!0  Q2L  !D
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
M,39Y5J -)_JH\=;)?SYJ,-#-@;R.FQ[F_U0Y_VF4\20J#RWYT495QRF=KLF
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
MP>NY???/]4PJ ?GXK\U'%41DA]"']$J69$Y''IQ"2<6&>N-??\%)\+M-WYG
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
MGV@.K(*67*Q\N >!J1)*1\96DDW5A4C]X.&N[T&1-3HEETJ[W#Z#_YXTP_>
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
M$,LJS\^A;:JN-%]L-C-O-F*?_0102P,$%     @ JHAM6-MVL'$Q @  B2D
M !H   !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<\W:2VZC0!2%X:U8+""X
M[HND%6?4DTRC;  YY8=B&T312K+[MIR!?5 />A)Q1JA 7/[1!P(>7_*A'??=
MJ>SV?5E\'@^GLJIVX]C_JNNRWN5C6^ZZ/I_.1S;=<&S'\W+8UGV[?F^WN9;E
M,NKA=D;U]'@[<_'ZU>?_F=AM-OMU_MVM_QSS:?S'X/JC&][++N>Q6KRVPS:/
MJZK^/%QWE_JR27?GR=7B^6U5#<]OJ:KG#A((DOF#%()T_B"#()L_R"'(YP\*
M"(KY@QH(:N8/NH>@^_F#'B#H8?Z@M$09EP1)$ZP)M$[(=2+P.B'8B4#LA&0G
M K,3HIT(U$[(=B)P.R'<B4#NA'0G KL3XIT(]!;46PCT%M1;"/26R<,V@=Z"
M>@N!WH)Z"X'>@GH+@=Z">@N!WH)Z"X'>@GH+@=Z">@N!WHIZ*X'>BGHK@=Z*
M>BN!WCIY64*@MZ+>2J"WHMY*H+>BWDJ@MZ+>2J"WHMY*H+>BWDJ@MZ'>1J"W
MH=Y&H+>AWD:@MZ'>1J"W35YV$^AMJ+<1Z&VHMQ'H;:BW$>AMJ+<1Z&VHMQ'H
M[:BW$^CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z.V3CY4$>COJ[01Z.^KM!'H[ZNT$
M>COJ[01Z!^H=!'H'ZAT$>@?J'01Z!^H=!'H'ZAT$>@?J'01ZQ^1G$P*] _4.
M KT#]0X"O0/U#@*]&]2[^4F]R_AUR.7:\[W&Z_\DU>/YW'R]_&7YO1/O%\T%
MY_JVHCS]!5!+ P04    " "JB&U8I,C#=_H!  "T*   $P   %M#;VYT96YT
M7U1Y<&5S72YX;6S-VLM.PS 0!=!?J;)%C>LG#]%N@"VPX =,,J51D]BR72A_
MCY,"$@@J4)&XFT:M[;D3CW16/;][]A0GVZ[MX[Q8I>3/&(O5BCH;2^>ISRM+
M%SJ;\M?PP+RMUO:!F)C-#*M<GZA/TS34*!;GE[2TFS9-KK;YY]BX?EX$:F,Q
MN=AM'++FA?6^;2J;\CI[[.M/*=/7A#*?'/?$5>/C4=Y0L"\3AI7O U[/W3Q2
M"$U-DUL;TK7M\BZV;5E,SRW%<G^)+WITRV534>VJ39>/E-$'LG5<$:6N+7=%
MC_8GIWS#M/OD!^>/9?8%YIVWP?F8)Q;H]W%O(QE.3WTN1"$U^U_Q/3&7/OC]
M:)AV3?4/L_/U/KFP'N<1V?@X_(X_SOB]_B_[$"!]2) ^%$@?&J0/ ]+',4@?
M)R!]G(+TP6<HC:"(RE%(Y2BF<A14.8JJ'(55CN(J1X&5H\@J4&05*+(*%%D%
MBJP"15:!(JM D56@R"I09!4HLDH4626*K!)%5HDBJT215:+(*E%DE2BR2A19
M)8JL"D56A2*K0I%5H<BJ4&15*+(J%%D5BJP*15:%(JM&D56CR*I19-4HLFH4
M636*K!I%5HTBJT:15:/(:E!D-2BR&A19#8JL!D56@R*K09'5H,AJ4&0U*+(>
M_Z>L]\ZM_SA^?):=;?JW?#;^67'Q E!+ 0(4 Q0    ( *J(;5@'04UB@0
M +$    0              "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#
M%     @ JHAM6/$=U-_N    *P(  !$              ( !KP   &1O8U!R
M;W!S+V-O<F4N>&UL4$L! A0#%     @ JHAM6)E<G",0!@  G"<  !,
M         ( !S $  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    " "J
MB&U82+R,0,X'  !',P  &               @($-"   >&PO=V]R:W-H965T
M<R]S:&5E=#$N>&UL4$L! A0#%     @ JHAM6'$CH*-:!P  ^R   !@
M         ("!$1   'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0
M   ( *J(;5@O!=$Q_ ,  ((1   8              " @:$7  !X;"]W;W)K
M<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " "JB&U8C;-TRR<%  "&%0
M&               @('3&P  >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L!
M A0#%     @ JHAM6.B+JZS- @  10<  !@              ("!,"$  'AL
M+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( *J(;5A,1J%&1@<
M -<P   8              " @3,D  !X;"]W;W)K<VAE971S+W-H965T-BYX
M;6Q02P$"% ,4    " "JB&U8)D^#:<$&  #O'   &               @(&O
M*P  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ JHAM6#\R
MR'[<#   'B   !@              ("!IC(  'AL+W=O<FMS:&5E=',O<VAE
M970X+GAM;%!+ 0(4 Q0    ( *J(;5CTDAD\K18  ,P^   8
M  " @;@_  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4    " "J
MB&U8 0=IPVL"  !1!0  &0              @(&;5@  >&PO=V]R:W-H965T
M<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( *J(;5@_Z9Z7[@(  #\&   9
M          " @3U9  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L! A0#
M%     @ JHAM6%HB(\PF P  + <  !D              ("!8EP  'AL+W=O
M<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " "JB&U8Q=4MCWX"  "2
M!0  &0              @(&_7P  >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM
M;%!+ 0(4 Q0    ( *J(;5@.6;6(YP(  (L&   9              " @71B
M  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @ JHAM6%<:
MAR'P!P  @Q4  !D              ("!DF4  'AL+W=O<FMS:&5E=',O<VAE
M970Q-2YX;6Q02P$"% ,4    " "JB&U8_!R1!L '  !;$P  &0
M    @(&Y;0  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    (
M *J(;5@7$ 3SZ @  ($6   9              " @;!U  !X;"]W;W)K<VAE
M971S+W-H965T,3<N>&UL4$L! A0#%     @ JHAM6$8 ^7$F!   G@D  !D
M             ("!SWX  'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q02P$"
M% ,4    " "JB&U8:*E9'N0"  "0!@  &0              @($L@P  >&PO
M=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( *J(;5AKIP.6N0,
M %4(   9              " @4>&  !X;"]W;W)K<VAE971S+W-H965T,C N
M>&UL4$L! A0#%     @ JHAM6(;<@R%Q P  Q <  !D              ("!
M-XH  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    " "JB&U8
M)*B[ZT$#  "2!P  &0              @('?C0  >&PO=V]R:W-H965T<R]S
M:&5E=#(R+GAM;%!+ 0(4 Q0    ( *J(;5C]UI$#U@(  )@&   9
M      " @5>1  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#%
M  @ JHAM6-Y%&ZJ2 @  V@4  !D              ("!9)0  'AL+W=O<FMS
M:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " "JB&U8P:MXBD,"  "0!@
M&0              @($MEP  >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+
M 0(4 Q0    ( *J(;5@7**Q1UA<  #1(   9              " @:>9  !X
M;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ JHAM6.*X_5*L
M!0  ZPT  !D              ("!M+$  'AL+W=O<FMS:&5E=',O<VAE970R
M-RYX;6Q02P$"% ,4    " "JB&U8/3G;:&\"  !+!0  &0
M@(&7MP  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    ( *J(
M;5B5O<EL]P(  #,&   9              " @3VZ  !X;"]W;W)K<VAE971S
M+W-H965T,CDN>&UL4$L! A0#%     @ JHAM6%[6@ ;& @  .08  !D
M         ("!:[T  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"% ,4
M    " "JB&U8H:E45X4"  "$!0  &0              @(%HP   >&PO=V]R
M:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( *J(;5B+D#*M$@4  %<,
M   9              " @23#  !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL
M4$L! A0#%     @ JHAM6'2$3.R?!P  JQ,  !D              ("!;<@
M 'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    " "JB&U8F7SZ
M2_T"  "*!@  &0              @(%#T   >&PO=V]R:W-H965T<R]S:&5E
M=#,T+GAM;%!+ 0(4 Q0    ( *J(;5C$W#MF^@(  (8&   9
M  " @7?3  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%     @
MJHAM6!!+/_-H P  B@@  !D              ("!J-8  'AL+W=O<FMS:&5E
M=',O<VAE970S-BYX;6Q02P$"% ,4    " "JB&U8+>P*7DL#  !?!P  &0
M            @(%'V@  >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4
M Q0    ( *J(;5C5UZ&K3 ,  #D.   9              " @<G=  !X;"]W
M;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ JHAM6+Q!Z*\R @
MQ00  !D              ("!3.$  'AL+W=O<FMS:&5E=',O<VAE970S.2YX
M;6Q02P$"% ,4    " "JB&U820<VW/D"  #F!P  &0              @(&U
MXP  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( *J(;5B7
MBNQ)^@,  "H7   9              " @>7F  !X;"]W;W)K<VAE971S+W-H
M965T-#$N>&UL4$L! A0#%     @ JHAM6&8I07L$ P  EPP  !D
M     ("!%NL  'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4
M" "JB&U8('7QST@"   +!0  &0              @(%1[@  >&PO=V]R:W-H
M965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( *J(;5A-V%BL\@H  -2?   9
M              " @=#P  !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL4$L!
M A0#%     @ JHAM6--5^R!/ P  $PL  !D              ("!^?L  'AL
M+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    " "JB&U8&480\1D#
M  !O#0  &0              @(%__P  >&PO=V]R:W-H965T<R]S:&5E=#0V
M+GAM;%!+ 0(4 Q0    ( *J(;5BK6AT1$@,  '0,   9              "
M@<\" 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%     @ JHAM
M6!EH4-*  @  # 8  !D              ("!& 8! 'AL+W=O<FMS:&5E=',O
M<VAE970T."YX;6Q02P$"% ,4    " "JB&U8PXYV/U\"  "\!0  &0
M        @('/" $ >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0
M   ( *J(;5CIQ.=N9@(  #L&   9              " @64+ 0!X;"]W;W)K
M<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ JHAM6+F*^\$F!   ]14
M !D              ("! @X! 'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6Q0
M2P$"% ,4    " "JB&U8K&\/Q*8#  #R#P  &0              @(%?$@$
M>&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( *J(;5B^,LA5
MF (  '('   9              " @3P6 0!X;"]W;W)K<VAE971S+W-H965T
M-3,N>&UL4$L! A0#%     @ JHAM6#'NR46O @  A@<  !D
M ("!"QD! 'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4    " "J
MB&U8<70N@I %  !)(0  &0              @('Q&P$ >&PO=V]R:W-H965T
M<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( *J(;5@:7OD/IP,    0   9
M          " @;@A 0!X;"]W;W)K<VAE971S+W-H965T-38N>&UL4$L! A0#
M%     @ JHAM6#^[L1P/!   J1(  !D              ("!EB4! 'AL+W=O
M<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    " "JB&U8GLP 9L4"  "A
M"   &0              @('<*0$ >&PO=V]R:W-H965T<R]S:&5E=#4X+GAM
M;%!+ 0(4 Q0    ( *J(;5C(O8:)[@@  ,XZ   9              " @=@L
M 0!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#%     @ JHAM6"E;
M'YJT!   R1<  !D              ("!_34! 'AL+W=O<FMS:&5E=',O<VAE
M970V,"YX;6Q02P$"% ,4    " "JB&U8#9U=TIX$  !U$@  &0
M    @('H.@$ >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0    (
M *J(;5@?^SY2  ,  ! (   9              " @;T_ 0!X;"]W;W)K<VAE
M971S+W-H965T-C(N>&UL4$L! A0#%     @ JHAM6'>:TO'O P  D0T  !D
M             ("!]$(! 'AL+W=O<FMS:&5E=',O<VAE970V,RYX;6Q02P$"
M% ,4    " "JB&U8\CAP&I(#  "*"P  &0              @($:1P$ >&PO
M=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    ( *J(;5B-OIJ&Y 4
M ,4K   9              " @>-* 0!X;"]W;W)K<VAE971S+W-H965T-C4N
M>&UL4$L! A0#%     @ JHAM6!N'H<W@ @  80D  !D              ("!
M_E ! 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"% ,4    " "JB&U8
MV8+VKB,(   "9@  &0              @($55 $ >&PO=V]R:W-H965T<R]S
M:&5E=#8W+GAM;%!+ 0(4 Q0    ( *J(;5B]*45"[P,  . /   9
M      " @6]< 0!X;"]W;W)K<VAE971S+W-H965T-C@N>&UL4$L! A0#%
M  @ JHAM6+O_)SF\!   [A<  !D              ("!E6 ! 'AL+W=O<FMS
M:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    " "JB&U8E/]">U $  !T'
M&0              @(&(90$ >&PO=V]R:W-H965T<R]S:&5E=#<P+GAM;%!+
M 0(4 Q0    ( *J(;5A4:!,J.@,  ,@3   -              "  0]J 0!X
M;"]S='EL97,N>&UL4$L! A0#%     @ JHAM6)>*NQS     $P(   L
M         ( !=&T! %]R96QS+RYR96QS4$L! A0#%     @ JHAM6#BD;%91
M!0  #"X   \              ( !76X! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4
M Q0    ( *J(;5C;=K!Q,0(  (DI   :              "  =MS 0!X;"]?
M<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( *J(;5BDR,-W^@$
M +0H   3              "  41V 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%
3!@    !. $X 614  &]X 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<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>90
<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>92
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>161</ContextCount>
  <ElementCount>363</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>51</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000100 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>010000 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>010100 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>020000 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>030000 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>040000 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>050000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>060100 - Disclosure - Description of business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/DescriptionOfBusiness</Role>
      <ShortName>Description of business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>060200 - Disclosure - Summary of significant accounting policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of significant accounting policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>060300 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>060400 - Disclosure - Fixed assets, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/FixedAssetsNet</Role>
      <ShortName>Fixed assets, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>060500 - Disclosure - Intangible assets, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IntangibleAssetsNet</Role>
      <ShortName>Intangible assets, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>060600 - Disclosure - Accrued liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/AccruedLiabilities</Role>
      <ShortName>Accrued liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>060700 - Disclosure - Retirement savings plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RetirementSavingsPlan</Role>
      <ShortName>Retirement savings plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>060800 - Disclosure - Borrowings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Borrowings</Role>
      <ShortName>Borrowings</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>060900 - Disclosure - Stock incentive plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlans</Role>
      <ShortName>Stock incentive plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>061000 - Disclosure - Income taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxes</Role>
      <ShortName>Income taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>061100 - Disclosure - Earnings per share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShare</Role>
      <ShortName>Earnings per share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>061200 - Disclosure - Stock repurchase program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockRepurchaseProgram</Role>
      <ShortName>Stock repurchase program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>061300 - Disclosure - Geographic area information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/GeographicAreaInformation</Role>
      <ShortName>Geographic area information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>061400 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>061500 - Disclosure - Quarterly results of operations (unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited</Role>
      <ShortName>Quarterly results of operations (unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>061600 - Disclosure - Related party transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related party transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>061700 - Disclosure - Subsequent events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>061800 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>070200 - Disclosure - Summary of significant accounting policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of significant accounting policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>080200 - Disclosure - Summary of significant accounting policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of significant accounting policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>080300 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Inventories</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>080400 - Disclosure - Fixed assets, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/FixedAssetsNetTables</Role>
      <ShortName>Fixed assets, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/FixedAssetsNet</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>080500 - Disclosure - Intangible assets, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IntangibleAssetsNetTables</Role>
      <ShortName>Intangible assets, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/IntangibleAssetsNet</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>080600 - Disclosure - Accrued liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/AccruedLiabilitiesTables</Role>
      <ShortName>Accrued liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/AccruedLiabilities</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>080900 - Disclosure - Stock incentive plans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansTables</Role>
      <ShortName>Stock incentive plans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/StockIncentivePlans</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>081000 - Disclosure - Income taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesTables</Role>
      <ShortName>Income taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/IncomeTaxes</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>081100 - Disclosure - Earnings per share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShareTables</Role>
      <ShortName>Earnings per share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/EarningsPerShare</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>081300 - Disclosure - Geographic area information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/GeographicAreaInformationTables</Role>
      <ShortName>Geographic area information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/GeographicAreaInformation</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>081400 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Leases</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>081500 - Disclosure - Quarterly results of operations (unaudited) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables</Role>
      <ShortName>Quarterly results of operations (unaudited) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>090100 - Disclosure - Description of business (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/DescriptionOfBusinessDetails</Role>
      <ShortName>Description of business (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/DescriptionOfBusiness</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>090200 - Disclosure - Summary of significant accounting policies, Segment reporting (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails</Role>
      <ShortName>Summary of significant accounting policies, Segment reporting (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>090202 - Disclosure - Summary of significant accounting policies, Accounts receivable and credit losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails</Role>
      <ShortName>Summary of significant accounting policies, Accounts receivable and credit losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>090204 - Disclosure - Summary of significant accounting policies, Fixed assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails</Role>
      <ShortName>Summary of significant accounting policies, Fixed assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>090206 - Disclosure - Summary of significant accounting policies, Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails</Role>
      <ShortName>Summary of significant accounting policies, Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>090208 - Disclosure - Summary of significant accounting policies, Goodwill and intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails</Role>
      <ShortName>Summary of significant accounting policies, Goodwill and intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>090210 - Disclosure - Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails</Role>
      <ShortName>Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>090212 - Disclosure - Summary of significant accounting policies, Revenue recognition - Contract balances (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails</Role>
      <ShortName>Summary of significant accounting policies, Revenue recognition - Contract balances (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>090214 - Disclosure - Summary of significant accounting policies, Revenue recognition - Remaining performance obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails</Role>
      <ShortName>Summary of significant accounting policies, Revenue recognition - Remaining performance obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>090216 - Disclosure - Summary of significant accounting policies, Concentration of credit risk (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails</Role>
      <ShortName>Summary of significant accounting policies, Concentration of credit risk (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>090218 - Disclosure - Summary of significant accounting policies, Engineering, design and product development (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails</Role>
      <ShortName>Summary of significant accounting policies, Engineering, design and product development (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>090220 - Disclosure - Summary of significant accounting policies, Advertising (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails</Role>
      <ShortName>Summary of significant accounting policies, Advertising (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>090300 - Disclosure - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/InventoriesDetails</Role>
      <ShortName>Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/InventoriesTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>090400 - Disclosure - Fixed assets, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/FixedAssetsNetDetails</Role>
      <ShortName>Fixed assets, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/FixedAssetsNetTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>090500 - Disclosure - Intangible assets, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IntangibleAssetsNetDetails</Role>
      <ShortName>Intangible assets, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/IntangibleAssetsNetTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>090600 - Disclosure - Accrued liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/AccruedLiabilitiesDetails</Role>
      <ShortName>Accrued liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/AccruedLiabilitiesTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>090700 - Disclosure - Retirement savings plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RetirementSavingsPlanDetails</Role>
      <ShortName>Retirement savings plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/RetirementSavingsPlan</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>090800 - Disclosure - Borrowings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/BorrowingsDetails</Role>
      <ShortName>Borrowings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Borrowings</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>090900 - Disclosure - Stock incentive plans, Stock incentive plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails</Role>
      <ShortName>Stock incentive plans, Stock incentive plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>090902 - Disclosure - Stock incentive plans, Assumptions used in option valuation calculations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails</Role>
      <ShortName>Stock incentive plans, Assumptions used in option valuation calculations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>090904 - Disclosure - Stock incentive plans, Share-based compensation expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails</Role>
      <ShortName>Stock incentive plans, Share-based compensation expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>090906 - Disclosure - Stock incentive plans, Stock options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails</Role>
      <ShortName>Stock incentive plans, Stock options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>091000 - Disclosure - Income taxes, Components of income tax expense (benefit) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails</Role>
      <ShortName>Income taxes, Components of income tax expense (benefit) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>091002 - Disclosure - Income taxes, Deferred tax assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>Income taxes, Deferred tax assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>091004 - Disclosure - Income taxes, Valuation allowance on deferred tax assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails</Role>
      <ShortName>Income taxes, Valuation allowance on deferred tax assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>091006 - Disclosure - Income taxes, Statutory to effective tax rate reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails</Role>
      <ShortName>Income taxes, Statutory to effective tax rate reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>091008 - Disclosure - Income taxes, Unrecognized tax benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Income taxes, Unrecognized tax benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>091100 - Disclosure - Earnings per share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShareDetails</Role>
      <ShortName>Earnings per share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/EarningsPerShareTables</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>091200 - Disclosure - Stock repurchase program (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockRepurchaseProgramDetails</Role>
      <ShortName>Stock repurchase program (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/StockRepurchaseProgram</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>091300 - Disclosure - Geographic area information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/GeographicAreaInformationDetails</Role>
      <ShortName>Geographic area information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/GeographicAreaInformationTables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>091400 - Disclosure - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/LeasesDetails</Role>
      <ShortName>Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/LeasesTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>091500 - Disclosure - Quarterly results of operations (unaudited) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails</Role>
      <ShortName>Quarterly results of operations (unaudited) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="ef20015290_10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>091600 - Disclosure - Related party transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RelatedPartyTransactionsDetails</Role>
      <ShortName>Related party transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/RelatedPartyTransactions</ParentRole>
      <Position>70</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="ef20015290_10k.htm">ef20015290_10k.htm</File>
    <File>tact-20231231.xsd</File>
    <File>tact-20231231_cal.xml</File>
    <File>tact-20231231_def.xml</File>
    <File>tact-20231231_lab.xml</File>
    <File>tact-20231231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image01.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="765">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>95
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "ef20015290_10k.htm": {
   "nsprefix": "tact",
   "nsuri": "http://transact-tech.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "ef20015290_10k.htm"
     ]
    },
    "schema": {
     "local": [
      "tact-20231231.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/2004/ref-2004-08-10.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/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/naics/2023/naics-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "tact-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tact-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "tact-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tact-20231231_pre.xml"
     ]
    }
   },
   "keyStandard": 338,
   "keyCustom": 25,
   "axisStandard": 24,
   "axisCustom": 0,
   "memberStandard": 35,
   "memberCustom": 16,
   "hidden": {
    "total": 11,
    "http://fasb.org/us-gaap/2023": 5,
    "http://xbrl.sec.gov/dei/2023": 6
   },
   "contextCount": 161,
   "entityCount": 1,
   "segmentCount": 51,
   "elementCount": 573,
   "unitCount": 7,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 765,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://xbrl.sec.gov/ecd/2023": 4
   },
   "report": {
    "R1": {
     "role": "http://transact-tech.com/role/DocumentAndEntityInformation",
     "longName": "000100 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://transact-tech.com/role/ConsolidatedBalanceSheets",
     "longName": "010000 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "010100 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "U003",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
     "longName": "020000 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss",
     "longName": "030000 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ComprehensiveIncomeNetOfTax",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
     "longName": "040000 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c20211231_StatementEquityComponentsAxis_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20211231_StatementEquityComponentsAxis_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
     "longName": "050000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://transact-tech.com/role/DescriptionOfBusiness",
     "longName": "060100 - Disclosure - Description of business",
     "shortName": "Description of business",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies",
     "longName": "060200 - Disclosure - Summary of significant accounting policies",
     "shortName": "Summary of significant accounting policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://transact-tech.com/role/Inventories",
     "longName": "060300 - Disclosure - Inventories",
     "shortName": "Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://transact-tech.com/role/FixedAssetsNet",
     "longName": "060400 - Disclosure - Fixed assets, net",
     "shortName": "Fixed assets, net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://transact-tech.com/role/IntangibleAssetsNet",
     "longName": "060500 - Disclosure - Intangible assets, net",
     "shortName": "Intangible assets, net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://transact-tech.com/role/AccruedLiabilities",
     "longName": "060600 - Disclosure - Accrued liabilities",
     "shortName": "Accrued liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://transact-tech.com/role/RetirementSavingsPlan",
     "longName": "060700 - Disclosure - Retirement savings plan",
     "shortName": "Retirement savings plan",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://transact-tech.com/role/Borrowings",
     "longName": "060800 - Disclosure - Borrowings",
     "shortName": "Borrowings",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://transact-tech.com/role/StockIncentivePlans",
     "longName": "060900 - Disclosure - Stock incentive plans",
     "shortName": "Stock incentive plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://transact-tech.com/role/IncomeTaxes",
     "longName": "061000 - Disclosure - Income taxes",
     "shortName": "Income taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://transact-tech.com/role/EarningsPerShare",
     "longName": "061100 - Disclosure - Earnings per share",
     "shortName": "Earnings per share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://transact-tech.com/role/StockRepurchaseProgram",
     "longName": "061200 - Disclosure - Stock repurchase program",
     "shortName": "Stock repurchase program",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:TreasuryStockTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:TreasuryStockTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://transact-tech.com/role/GeographicAreaInformation",
     "longName": "061300 - Disclosure - Geographic area information",
     "shortName": "Geographic area information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://transact-tech.com/role/Leases",
     "longName": "061400 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited",
     "longName": "061500 - Disclosure - Quarterly results of operations (unaudited)",
     "shortName": "Quarterly results of operations (unaudited)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://transact-tech.com/role/RelatedPartyTransactions",
     "longName": "061600 - Disclosure - Related party transactions",
     "shortName": "Related party transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://transact-tech.com/role/SubsequentEvents",
     "longName": "061700 - Disclosure - Subsequent events",
     "shortName": "Subsequent events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://transact-tech.com/role/InsiderTradingArrangements",
     "longName": "061800 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:NonRule10b51ArrAdoptedFlag",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:NonRule10b51ArrAdoptedFlag",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "070200 - Disclosure - Summary of significant accounting policies (Policies)",
     "shortName": "Summary of significant accounting policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables",
     "longName": "080200 - Disclosure - Summary of significant accounting policies (Tables)",
     "shortName": "Summary of significant accounting policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://transact-tech.com/role/InventoriesTables",
     "longName": "080300 - Disclosure - Inventories (Tables)",
     "shortName": "Inventories (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://transact-tech.com/role/FixedAssetsNetTables",
     "longName": "080400 - Disclosure - Fixed assets, net (Tables)",
     "shortName": "Fixed assets, net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://transact-tech.com/role/IntangibleAssetsNetTables",
     "longName": "080500 - Disclosure - Intangible assets, net (Tables)",
     "shortName": "Intangible assets, net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://transact-tech.com/role/AccruedLiabilitiesTables",
     "longName": "080600 - Disclosure - Accrued liabilities (Tables)",
     "shortName": "Accrued liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://transact-tech.com/role/StockIncentivePlansTables",
     "longName": "080900 - Disclosure - Stock incentive plans (Tables)",
     "shortName": "Stock incentive plans (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://transact-tech.com/role/IncomeTaxesTables",
     "longName": "081000 - Disclosure - Income taxes (Tables)",
     "shortName": "Income taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://transact-tech.com/role/EarningsPerShareTables",
     "longName": "081100 - Disclosure - Earnings per share (Tables)",
     "shortName": "Earnings per share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://transact-tech.com/role/GeographicAreaInformationTables",
     "longName": "081300 - Disclosure - Geographic area information (Tables)",
     "shortName": "Geographic area information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://transact-tech.com/role/LeasesTables",
     "longName": "081400 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables",
     "longName": "081500 - Disclosure - Quarterly results of operations (unaudited) (Tables)",
     "shortName": "Quarterly results of operations (unaudited) (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://transact-tech.com/role/DescriptionOfBusinessDetails",
     "longName": "090100 - Disclosure - Description of business (Details)",
     "shortName": "Description of business (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "U004",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "tact:NumberOfSoftwareSolutions",
      "unitRef": "U005",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R39": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails",
     "longName": "090200 - Disclosure - Summary of significant accounting policies, Segment reporting (Details)",
     "shortName": "Summary of significant accounting policies, Segment reporting (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "U004",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R40": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails",
     "longName": "090202 - Disclosure - Summary of significant accounting policies, Accounts receivable and credit losses (Details)",
     "shortName": "Summary of significant accounting policies, Accounts receivable and credit losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c20221231",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20211231",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
     "longName": "090204 - Disclosure - Summary of significant accounting policies, Fixed assets (Details)",
     "shortName": "Summary of significant accounting policies, Fixed assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:Depreciation",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:Depreciation",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails",
     "longName": "090206 - Disclosure - Summary of significant accounting policies, Leases (Details)",
     "shortName": "Summary of significant accounting policies, Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c20231231_RangeAxis_MinimumMember",
      "name": "us-gaap:LesseeOperatingLeaseRemainingLeaseTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231_RangeAxis_MinimumMember",
      "name": "us-gaap:LesseeOperatingLeaseRemainingLeaseTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
     "longName": "090208 - Disclosure - Summary of significant accounting policies, Goodwill and intangible assets (Details)",
     "shortName": "Summary of significant accounting policies, Goodwill and intangible assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:GoodwillAndIntangibleAssetImpairment",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:GoodwillAndIntangibleAssetImpairment",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
     "longName": "090210 - Disclosure - Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details)",
     "shortName": "Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails",
     "longName": "090212 - Disclosure - Summary of significant accounting policies, Revenue recognition - Contract balances (Details)",
     "shortName": "Summary of significant accounting policies, Revenue recognition - Contract balances (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tact:ContractWithCustomerRevenueRecognized",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tact:ContractWithCustomerRevenueRecognized",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails",
     "longName": "090214 - Disclosure - Summary of significant accounting policies, Revenue recognition - Remaining performance obligations (Details)",
     "shortName": "Summary of significant accounting policies, Revenue recognition - Remaining performance obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails",
     "longName": "090216 - Disclosure - Summary of significant accounting policies, Concentration of credit risk (Details)",
     "shortName": "Summary of significant accounting policies, Concentration of credit risk (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails",
     "longName": "090218 - Disclosure - Summary of significant accounting policies, Engineering, design and product development (Details)",
     "shortName": "Summary of significant accounting policies, Engineering, design and product development (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:ResearchAndDevelopmentExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R49": {
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails",
     "longName": "090220 - Disclosure - Summary of significant accounting policies, Advertising (Details)",
     "shortName": "Summary of significant accounting policies, Advertising (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "us-gaap:AdvertisingCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "us-gaap:AdvertisingCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://transact-tech.com/role/InventoriesDetails",
     "longName": "090300 - Disclosure - Inventories (Details)",
     "shortName": "Inventories (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://transact-tech.com/role/FixedAssetsNetDetails",
     "longName": "090400 - Disclosure - Fixed assets, net (Details)",
     "shortName": "Fixed assets, net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://transact-tech.com/role/IntangibleAssetsNetDetails",
     "longName": "090500 - Disclosure - Intangible assets, net (Details)",
     "shortName": "Intangible assets, net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://transact-tech.com/role/AccruedLiabilitiesDetails",
     "longName": "090600 - Disclosure - Accrued liabilities (Details)",
     "shortName": "Accrued liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://transact-tech.com/role/RetirementSavingsPlanDetails",
     "longName": "090700 - Disclosure - Retirement savings plan (Details)",
     "shortName": "Retirement savings plan (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://transact-tech.com/role/BorrowingsDetails",
     "longName": "090800 - Disclosure - Borrowings (Details)",
     "shortName": "Borrowings (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
     "longName": "090900 - Disclosure - Stock incentive plans, Stock incentive plans (Details)",
     "shortName": "Stock incentive plans, Stock incentive plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans",
      "unitRef": "U007",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans",
      "unitRef": "U007",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
     "longName": "090902 - Disclosure - Stock incentive plans, Assumptions used in option valuation calculations (Details)",
     "shortName": "Stock incentive plans, Assumptions used in option valuation calculations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails",
     "longName": "090904 - Disclosure - Stock incentive plans, Share-based compensation expense (Details)",
     "shortName": "Stock incentive plans, Share-based compensation expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails",
     "longName": "090906 - Disclosure - Stock incentive plans, Stock options (Details)",
     "shortName": "Stock incentive plans, Stock options (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails",
     "longName": "091000 - Disclosure - Income taxes, Components of income tax expense (benefit) (Details)",
     "shortName": "Income taxes, Components of income tax expense (benefit) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
     "longName": "091002 - 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": "61",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails",
     "longName": "091004 - Disclosure - Income taxes, Valuation allowance on deferred tax assets (Details)",
     "shortName": "Income taxes, Valuation allowance on deferred tax assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails",
     "longName": "091006 - Disclosure - Income taxes, Statutory to effective tax rate reconciliation (Details)",
     "shortName": "Income taxes, Statutory to effective tax rate reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails",
     "longName": "091008 - Disclosure - Income taxes, Unrecognized tax benefits (Details)",
     "shortName": "Income taxes, Unrecognized tax benefits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231231",
      "name": "us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://transact-tech.com/role/EarningsPerShareDetails",
     "longName": "091100 - Disclosure - Earnings per share (Details)",
     "shortName": "Earnings per share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://transact-tech.com/role/StockRepurchaseProgramDetails",
     "longName": "091200 - Disclosure - Stock repurchase program (Details)",
     "shortName": "Stock repurchase program (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:StockRepurchasedDuringPeriodShares",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:StockRepurchasedDuringPeriodShares",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://transact-tech.com/role/GeographicAreaInformationDetails",
     "longName": "091300 - Disclosure - Geographic area information (Details)",
     "shortName": "Geographic area information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U006",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://transact-tech.com/role/LeasesDetails",
     "longName": "091400 - Disclosure - Leases (Details)",
     "shortName": "Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails",
     "longName": "091500 - Disclosure - Quarterly results of operations (unaudited) (Details)",
     "shortName": "Quarterly results of operations (unaudited) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "us-gaap:GrossProfit",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    },
    "R70": {
     "role": "http://transact-tech.com/role/RelatedPartyTransactionsDetails",
     "longName": "091600 - Disclosure - Related party transactions (Details)",
     "shortName": "Related party transactions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "c20231001to20231231",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20230101to20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20015290_10k.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of significant accounting policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable and credit losses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued liabilities",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r733"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r684"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable (net of allowance for expected credit losses of $768 and $351)",
        "terseLabel": "Accounts receivable",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r311"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails",
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities",
        "totalLabel": "Accrued liabilities",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedProfessionalFeesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional and consulting",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Accumulated depreciation and amortization",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r196",
      "r561"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive loss, net of tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r39",
      "r116",
      "r204",
      "r557",
      "r579",
      "r580"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Member]",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r10",
      "r39",
      "r490",
      "r493",
      "r519",
      "r575",
      "r576",
      "r772",
      "r773",
      "r774",
      "r785",
      "r786",
      "r787"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r443",
      "r444",
      "r445",
      "r593",
      "r785",
      "r786",
      "r787",
      "r843",
      "r866"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based compensation expense",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r80",
      "r405"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r172"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r451"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based compensation expense",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r438",
      "r450"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, beginning of period",
        "periodEndLabel": "Balance, end of period",
        "label": "Allowance for expected credit losses",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r314",
      "r319"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableRollforward",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowances for expected credit losses [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Deductions",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r321"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r6",
      "r65",
      "r69"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)",
        "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": [
      "r269"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "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": [
      "r50"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r200",
      "r229",
      "r281",
      "r295",
      "r301",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r485",
      "r487",
      "r498",
      "r553",
      "r630",
      "r733",
      "r746",
      "r801",
      "r802",
      "r851"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases [Abstract]",
        "label": "Assets and Liabilities, Lessee [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r209",
      "r229",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r485",
      "r487",
      "r498",
      "r733",
      "r801",
      "r802",
      "r851"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total noncurrent assets",
        "label": "Assets, Noncurrent",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r485",
      "r487",
      "r498",
      "r801",
      "r802",
      "r851"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r750",
      "r751",
      "r752"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r750",
      "r751",
      "r752"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r750",
      "r751",
      "r752"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r410",
      "r411",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437"
     ]
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of significant accounting policies",
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r131"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CA",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Canada [Member]",
        "label": "CANADA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-cash capital expenditures",
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r48",
      "r49"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r44",
      "r194",
      "r699"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "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": [
      "r45"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "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": [
      "r44",
      "r128",
      "r227"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (decrease) in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r128"
     ]
    },
    "us-gaap_CashFlowOperatingActivitiesLesseeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashFlowOperatingActivitiesLesseeAbstract",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flows Related to Operating Leases [Abstract]",
        "label": "Cash Flow, Operating Activities, Lessee [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_CasinoAndGamingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "CasinoAndGamingMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos and racetracks and other gaming venues worldwide.",
        "label": "Casino and Gaming [Member]",
        "terseLabel": "Casino and Gaming [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Domain]",
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r188",
      "r201",
      "r202",
      "r203",
      "r229",
      "r260",
      "r264",
      "r266",
      "r268",
      "r275",
      "r276",
      "r316",
      "r337",
      "r340",
      "r341",
      "r342",
      "r348",
      "r349",
      "r377",
      "r378",
      "r380",
      "r381",
      "r382",
      "r498",
      "r584",
      "r585",
      "r586",
      "r587",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r618",
      "r640",
      "r663",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r759",
      "r776",
      "r789"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and contingencies (see Notes 8 and 14)",
        "label": "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": [
      "r35",
      "r96",
      "r554",
      "r617"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r736",
      "r737",
      "r738",
      "r740",
      "r741",
      "r742",
      "r743",
      "r785",
      "r786",
      "r843",
      "r863",
      "r866"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized (in shares)",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r618"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)",
        "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": [
      "r107"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding (in shares)",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r107",
      "r618",
      "r636",
      "r866",
      "r867"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, $0.01 par value, 20,000,000 authorized at December 31, 2023 and 2022; 14,003,653 and 13,956,725 shares issued; 9,958,811 and 9,911,883 shares outstanding, at December 31, 2023 and 2022, respectively",
        "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": [
      "r107",
      "r556",
      "r733"
     ]
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndEmployeeBenefitPlansTextBlock",
     "presentation": [
      "http://transact-tech.com/role/RetirementSavingsPlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement savings plan",
        "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r145",
      "r146",
      "r147"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement savings plan [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax components [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income (loss)",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r211",
      "r213",
      "r219",
      "r549",
      "r565"
     ]
    },
    "tact_ComputerSoftwareAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "ComputerSoftwareAndEquipmentMember",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Computer software, including but not limited to, acquired and internally developed computer software, and long-lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.",
        "label": "Computer Software and Equipment [Member]",
        "terseLabel": "Computer Software and Equipment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r56",
      "r88",
      "r89",
      "r309",
      "r684"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r56",
      "r88",
      "r89",
      "r309",
      "r581",
      "r684"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "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": [
      "r53",
      "r56",
      "r88",
      "r89",
      "r309",
      "r684",
      "r764"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration of credit risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r175"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r684"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration risk percentage",
        "label": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r56",
      "r88",
      "r89",
      "r309"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r53",
      "r56",
      "r57",
      "r88",
      "r156",
      "r684"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "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": [
      "r53",
      "r56",
      "r88",
      "r89",
      "r309",
      "r684"
     ]
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsAxis",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "auth_ref": [
      "r236",
      "r283",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r299",
      "r303",
      "r337",
      "r338",
      "r339",
      "r340",
      "r342",
      "r343",
      "r345",
      "r347",
      "r348",
      "r801",
      "r802"
     ]
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsDomain",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "auth_ref": [
      "r236",
      "r283",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r299",
      "r303",
      "r337",
      "r338",
      "r339",
      "r340",
      "r342",
      "r343",
      "r345",
      "r347",
      "r348",
      "r801",
      "r802"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r87",
      "r706"
     ]
    },
    "us-gaap_ConstructionInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConstructionInProgressMember",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in-Process [Member]",
        "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_ContractWithCustomerAssetAndLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net contract (liabilities) assets [Abstract]",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Contract (Liabilities) Assets",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "tact_ContractWithCustomerAssetLiabilityNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "ContractWithCustomerAssetLiabilityNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Asset (Liability), net",
        "totalLabel": "Net contract (liabilities) assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unbilled receivables, current",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current."
       }
      }
     },
     "auth_ref": [
      "r384",
      "r386",
      "r397"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unbilled receivables, non-current",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Noncurrent",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r384",
      "r386",
      "r397"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": -1.0,
       "order": 4.0
      },
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue",
        "negatedLabel": "Deferred revenue, current",
        "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": [
      "r384",
      "r385",
      "r397"
     ]
    },
    "tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer related to customer prepayments for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability for Customer Prepayments, Current",
        "negatedLabel": "Customer pre-payments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue, net of current portion",
        "negatedLabel": "Deferred revenue, non-current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r384",
      "r385",
      "r397"
     ]
    },
    "tact_ContractWithCustomerRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "ContractWithCustomerRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized related to obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Revenue Recognized",
        "terseLabel": "Revenue recognized"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of sales",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r229",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r498",
      "r801"
     ]
    },
    "srt_CounterpartyNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CounterpartyNameAxis",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r234",
      "r235",
      "r354",
      "r379",
      "r526",
      "r703",
      "r705"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal",
        "label": "Current Federal Tax Expense (Benefit)",
        "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": [
      "r767",
      "r779",
      "r840"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Current Foreign Tax Expense (Benefit)",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r767",
      "r779"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income taxes current",
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r473",
      "r479",
      "r779"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current [Abstract]",
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "Current State and Local Tax Expense (Benefit)",
        "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": [
      "r767",
      "r779",
      "r840"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r309"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Borrowings [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/Borrowings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Borrowings",
        "label": "Debt Disclosure [Text Block]",
        "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": [
      "r139",
      "r228",
      "r350",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r366",
      "r373",
      "r374",
      "r376"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r103",
      "r104",
      "r158",
      "r159",
      "r236",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r357",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r508",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r777"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis spread on variable rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DebtInstrumentFinancialCovenantEligibleAccountsReceivable",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Accounts Receivable",
        "terseLabel": "Percentage of eligible accounts receivable"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DebtInstrumentFinancialCovenantEligibleInventory",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory",
        "terseLabel": "Eligible inventory"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory, Finished Goods Inventory, Percentage",
        "terseLabel": "Percentage of eligible finished goods inventory"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory, Raw Material, Percentage",
        "terseLabel": "Percentage of eligible raw material"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest rate",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r352"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r357",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r375",
      "r508",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r777"
     ]
    },
    "tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash required under a new \"springing\" deposit account control agreement, permitting the Company to direct the use of funds in its deposit account.",
        "label": "Debt Instrument, Minimum excess availability and unrestricted cash",
        "terseLabel": "Minimum excess availability and unrestricted cash required"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum principal amount, whether or not such amount of loans is actually outstanding, on which interest is paid if the Company does not have the ability to direct the use of funds in the deposit account under the Amended Fee Letter.",
        "label": "Debt Instrument, Minimum principal amount on which interest is paid",
        "terseLabel": "Minimum principal amount on which interest is paid"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum principal amount of outstanding borrowings that must be maintained in order to retain the ability to direct the use of funds in the deposit account under the Amended Fee Letter.",
        "label": "Debt Instrument, Minimum principal amount to be maintained to direct use of funds in deposit account",
        "terseLabel": "Minimum principal amount to be maintained to direct use of funds in deposit account"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r236",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r357",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r508",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r777"
     ]
    },
    "tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash": {
     "xbrltype": "durationItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period of time the minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash must be maintained, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument, Period to maintain excess availability and unrestricted cash",
        "terseLabel": "Number of days to maintain excess availability and unrestricted cash"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r72",
      "r73",
      "r90",
      "r91",
      "r93",
      "r97",
      "r140",
      "r141",
      "r236",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r357",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r375",
      "r508",
      "r715",
      "r716",
      "r717",
      "r718",
      "r719",
      "r777"
     ]
    },
    "us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected decrease in unrecognized tax benefits in next year",
        "label": "Decrease in Unrecognized Tax Benefits is Reasonably Possible",
        "documentation": "Amount of decrease reasonably possible in the next twelve months for the unrecognized tax benefit."
       }
      }
     },
     "auth_ref": [
      "r82"
     ]
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r779",
      "r839",
      "r840"
     ]
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFinanceCostsGross",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred financing costs",
        "label": "Debt Issuance Costs, Gross",
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r92"
     ]
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r779",
      "r839"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets",
        "label": "Deferred Income Tax Assets, 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": [
      "r458",
      "r459"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      },
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income tax benefit",
        "totalLabel": "Income taxes deferred",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r154",
      "r184",
      "r478",
      "r479",
      "r779"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred [Abstract]",
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r779",
      "r839",
      "r840"
     ]
    },
    "us-gaap_DeferredTaxAssetsDeferredIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsDeferredIncome",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue",
        "label": "Deferred Tax Assets, Deferred Income",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross deferred tax assets",
        "label": "Deferred Tax Assets, Gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r468"
     ]
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized R&amp;D expenses",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory reserves",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total net deferred tax assets",
        "label": "Deferred Tax Assets, Net",
        "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": [
      "r837"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax assets",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNetAbstract",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets [Abstract]",
        "label": "Deferred Tax Assets, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsDomestic",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Domestic",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible domestic operating loss carryforwards. Excludes state and local operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsForeign",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign net operating losses",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State net operating losses",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible state and local operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Assets",
        "label": "Deferred Tax Assets, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "R&amp;D credit carryforward",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other accrued compensation",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued severance",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from severance costs."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock compensation expense",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other liabilities and reserves",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warranty reserve",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Valuation allowance",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r469"
     ]
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r837"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Deferred Tax Liabilities, Other",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation and amortization",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r838"
     ]
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanCostRecognized",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/RetirementSavingsPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Matching contributions, net of applied forfeitures",
        "label": "Defined Contribution Plan, Cost",
        "documentation": "Amount of cost for defined contribution plan."
       }
      }
     },
     "auth_ref": [
      "r400"
     ]
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "presentation": [
      "http://transact-tech.com/role/RetirementSavingsPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee's contribution percentage for match",
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
     "presentation": [
      "http://transact-tech.com/role/RetirementSavingsPlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employer matching contribution percentage",
        "documentation": "Percentage employer matches of the employee's percentage contribution matched."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation expense",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r70"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Depreciation and amortization",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r70"
     ]
    },
    "tact_DescriptionOfBusinessAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "DescriptionOfBusinessAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of business [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r396",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r396",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation of Revenue",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock incentive plans",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r403",
      "r408",
      "r439",
      "r440",
      "r442",
      "r729"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock incentive plans [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r750",
      "r751",
      "r752"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r750",
      "r751",
      "r752",
      "r754"
     ]
    },
    "dei_DocumentFinStmtRestatementRecoveryAnalysisFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtRestatementRecoveryAnalysisFlag",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Restatement Recovery Analysis [Flag]",
        "documentation": "Indicates whether any of the financial statement periods include restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to \u00a7240.10D-1(b)."
       }
      }
     },
     "auth_ref": [
      "r750",
      "r751",
      "r752",
      "r754"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r753"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal [Member]",
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income (loss) per common share:",
        "label": "Earnings per share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r220",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r258",
      "r260",
      "r266",
      "r267",
      "r268",
      "r272",
      "r496",
      "r497",
      "r550",
      "r566",
      "r708"
     ]
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasicAbstract",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net income (loss) per common share [Abstract]",
        "label": "Earnings Per Share, Basic [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasicOtherDisclosuresAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares used in per-share calculation:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted (in dollars per share)",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r260",
      "r266",
      "r267",
      "r268",
      "r272",
      "r496",
      "r497",
      "r550",
      "r566",
      "r708"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net 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": [
      "r50",
      "r51"
     ]
    },
    "us-gaap_EarningsPerShareReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareReconciliationAbstract",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per share [Abstract]",
        "label": "Earnings Per Share Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r269",
      "r270",
      "r271"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r500"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails",
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective tax rate",
        "totalLabel": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r461"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Tax Rate Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails",
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Federal statutory tax rate",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r461",
      "r481"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation allowance and tax accruals",
        "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": [
      "r834",
      "r841"
     ]
    },
    "tact_EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "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 limitation on executive compensation.",
        "label": "Effective Income Tax Rate Reconciliation, Executive Compensation Limitation, Percent",
        "terseLabel": "Executive compensation limitation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationFdiiPercent",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Foreign-derived intangible income deduction",
        "label": "Effective Income Tax Rate Reconciliation, FDII, Percent",
        "documentation": "Percentage of reported income tax benefit from difference to income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII)."
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business meals and entertainment",
        "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 meals and entertainment expense."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r841"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option cancellations",
        "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 nondeductible expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r841"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "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 other adjustments."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r841"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock award excess tax benefit",
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Percent",
        "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": [
      "r762",
      "r834"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "State income taxes, net of federal income taxes",
        "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": [
      "r834",
      "r841"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Uncertain tax positions",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "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 income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r841"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "R&amp;D credit",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "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": [
      "r834",
      "r841"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Salaries and compensation related",
        "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": [
      "r30"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average period to recognize compensation cost not yet recognized",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "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": [
      "r441"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation cost related to stock options",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax benefit from share-based compensation expense",
        "label": "Share-Based Payment Arrangement, Expense, Tax Benefit",
        "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r438"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Excess tax benefit in provision for income taxes",
        "documentation": "Amount of tax benefit from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r181"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Options [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r748"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r748"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r757"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r748"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r748"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r748"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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": [
      "r758"
     ]
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock repurchase program [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_EquityAwardsAggregateIntrinsicValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "EquityAwardsAggregateIntrinsicValueAbstract",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards, Aggregate Intrinsic Value [Abstract]",
        "terseLabel": "Aggregate Intrinsic Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "EquityAwardsWeightedAverageRemainingContractualTermAbstract",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards, Weighted-Average Remaining Contractual Term [Abstract]",
        "terseLabel": "Remaining Term [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "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": [
      "r11",
      "r189",
      "r215",
      "r216",
      "r217",
      "r243",
      "r244",
      "r245",
      "r247",
      "r253",
      "r255",
      "r274",
      "r317",
      "r318",
      "r383",
      "r443",
      "r444",
      "r445",
      "r474",
      "r475",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r519",
      "r575",
      "r576",
      "r577",
      "r593",
      "r663"
     ]
    },
    "tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "EquityIncentivePlan2005AndEquityIncentivePlan2014Member",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock incentive plans which provide for awards to executives, key employees, directors and consultants.",
        "label": "Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]",
        "terseLabel": "2005 Equity Incentive Plan and 2014 Equity Incentive Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_EquityIncentivePlan2014Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "EquityIncentivePlan2014Member",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock incentive plan which provides for awards to executives, key employees, directors and consultants.",
        "label": "Equity Incentive Plan 2014 [Member]",
        "terseLabel": "2014 Equity Incentive Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_EuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EuropeMember",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]"
       }
      }
     },
     "auth_ref": [
      "r868",
      "r869",
      "r870",
      "r871"
     ]
    },
    "tact_FacilityInLasVegasNevadaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "FacilityInLasVegasNevadaMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility located in Las Vegas, Nevada.",
        "label": "Facility in Las Vegas, Nevada [Member]",
        "terseLabel": "Facility in Las Vegas, Nevada [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalFundsEffectiveSwapRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FederalFundsEffectiveSwapRateMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal Funds Rate [Member]",
        "label": "Fed Funds Effective Rate Overnight Index Swap Rate [Member]",
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap having its variable-rate leg referenced to Federal Funds effective rate with no additional spread over Federal Funds effective rate on that variable-rate leg."
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, After Year Two",
        "terseLabel": "Thereafter"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r329"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "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": [
      "r136"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "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": [
      "r327",
      "r328",
      "r329",
      "r330",
      "r534",
      "r535"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Future amortization expense [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross amount",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r535"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r534"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "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": [
      "r66",
      "r68"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNetAbstract",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Identifiable intangible assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_FixedAssetsExcludingConstructionInProcessMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "FixedAssetsExcludingConstructionInProcessMember",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed assets excluding construction in-process. Includes tooling, machinery and equipment, furniture and office equipment, computer software and equipment, and leasehold improvements.",
        "label": "Fixed Assets, Excluding Construction in-Process [Member]",
        "terseLabel": "Fixed Assets, Excluding Construction in-Process [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_FoodServiceTechnologyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "FoodServiceTechnologyMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of the BOHA! ecosystem, which combines the latest generation terminal, cloud-based software applications and related hardware into a unique solution to automate operations with food production in the back-of-house operations in restaurants and food service operations.",
        "label": "Food Service Technology [Member]",
        "terseLabel": "Food Service Technology [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossUnrealized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionGainLossUnrealized",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Foreign currency transaction losses",
        "label": "Unrealized Gain (Loss), Foreign Currency Transaction, before Tax",
        "documentation": "Amount, before tax, of unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r638",
      "r744",
      "r845",
      "r846",
      "r865"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Currency Translation",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "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": [
      "r499"
     ]
    },
    "tact_FurnitureAndOfficeEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "FurnitureAndOfficeEquipmentMember",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities and tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine.",
        "label": "Furniture and Office Equipment [Member]",
        "terseLabel": "Furniture and Office Equipment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnSaleOfProperty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfProperty",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on the disposal of fixed assets",
        "label": "Gain (Loss) on Disposition of Oil and Gas and Timber Property",
        "documentation": "Amount of gain (loss) on sale or disposal of oil and gas property or timber property."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and administrative",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r642"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and Administrative Expense [Member]",
        "documentation": "Primary financial statement caption encompassing general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r120"
     ]
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeographicConcentrationRiskMember",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic Concentration Risk [Member]",
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r684"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r325",
      "r548",
      "r714",
      "r733",
      "r796",
      "r797"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetImpairment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetImpairment",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of goodwill and intangible assets",
        "label": "Goodwill and Intangible Asset Impairment",
        "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets, net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and intangible assets",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r63"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r229",
      "r281",
      "r294",
      "r300",
      "r303",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r498",
      "r710",
      "r801"
     ]
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r750",
      "r751",
      "r752"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income (loss) before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r118",
      "r161",
      "r281",
      "r294",
      "r300",
      "r303",
      "r551",
      "r563",
      "r710"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign income before taxes",
        "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": [
      "r230",
      "r480"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r332",
      "r647"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r332",
      "r647"
     ]
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r454",
      "r462",
      "r466",
      "r471",
      "r476",
      "r482",
      "r483",
      "r484",
      "r589"
     ]
    },
    "us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExaminationPenaltiesAndInterestAccrued",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued interest and penalties related to uncertain tax positions",
        "documentation": "The amount of estimated penalties and interest accrued as of the balance sheet date arising from income tax examinations."
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Income tax (expense) benefit",
        "totalLabel": "Income tax expense (benefit)",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r185",
      "r254",
      "r255",
      "r285",
      "r460",
      "r477",
      "r567"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of income tax benefit [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes [Abstract]",
        "label": "Income Tax Expense (Benefit), Continuing Operations, by Jurisdiction [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "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": [
      "r214",
      "r456",
      "r457",
      "r466",
      "r467",
      "r470",
      "r472",
      "r583"
     ]
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes paid",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r46"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued liabilities and other liabilities",
        "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities",
        "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other."
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase in operating lease liability",
        "label": "Increase (Decrease) in Operating Lease Liability",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r765",
      "r775"
     ]
    },
    "tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "IncreaseDecreaseInOperatingLeaseRightOfUseAsset",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating lease right-of-use asset.",
        "label": "Increase (Decrease) in Operating Lease Right-of-use Asset",
        "terseLabel": "Increase in right-of-use-asset"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other current and long-term assets",
        "label": "Increase (Decrease) in Other Operating Assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Employee retention credit receivable",
        "label": "Increase (Decrease) in Other Receivables",
        "documentation": "Amount of increase (decrease) in receivables classified as other."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidTaxes",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid income taxes",
        "label": "Increase (Decrease) in Prepaid Taxes",
        "documentation": "Amount of increase (decrease) of consideration paid in advance for income and other taxes that provide economic benefits in future periods."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Add: Dilutive effect of outstanding equity awards as determined by the treasury stock method (in shares)",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements",
        "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": [
      "r261",
      "r262",
      "r263",
      "r268",
      "r407"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets, net",
        "label": "Intangible Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r326"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets, net",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "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": [
      "r64",
      "r67"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest expense",
        "label": "Interest Expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r164",
      "r218",
      "r284",
      "r507",
      "r648",
      "r744",
      "r864"
     ]
    },
    "us-gaap_InterestIncomeDomesticDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeDomesticDeposits",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income",
        "documentation": "Interest earned on deposits in United States money market accounts and other United States interest earning accounts."
       }
      }
     },
     "auth_ref": [
      "r163"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest paid",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r223",
      "r225",
      "r226"
     ]
    },
    "tact_InternationalGameTechnologyPlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "InternationalGameTechnologyPlcMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "International Game Technology PLC, formerly Gtech S.p.A. and Lottomatica S.p.A., is a multinational gaming company that produces slot machines and other gaming technology.",
        "label": "International Game Technology PLC [Member]",
        "terseLabel": "IGT [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_InternationalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "InternationalMember",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other countries outside of the United States.",
        "label": "International [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory Disclosure [Text Block]",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r322"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/InventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r702"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://transact-tech.com/role/InventoriesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "totalLabel": "Inventories",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r700",
      "r733"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r193",
      "r206",
      "r322",
      "r323",
      "r324",
      "r532",
      "r707"
     ]
    },
    "us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterialsAndSuppliesNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/InventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials and purchased component parts",
        "documentation": "Aggregated amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed. This amount is net of valuation reserves and adjustments."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r771"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r138"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r514"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r514"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r513"
     ]
    },
    "us-gaap_LesseeOperatingLeaseDescriptionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseDescriptionAbstract",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Lease Weighted Average Remaining Lease Term and Discount Rate [Abstract]",
        "label": "Lessee, Operating Lease, Description [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information related to lessee's operating leases, including weighted average lease term and discount rate.",
        "label": "Lessee, Operating Lease, Lease Term and Discount Rate [Table Text Block]",
        "terseLabel": "Additional Information Related to Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturity of Operating Lease Liabilities",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "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": [
      "r849"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total undiscounted lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "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": [
      "r518"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "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": [
      "r518"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less imputed interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseRemainingLeaseTerm",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining lease terms",
        "label": "Lessee, Operating Lease, Remaining Lease Term",
        "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r848"
     ]
    },
    "tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplemental information for the statement of cash flows related to operating leases.",
        "label": "Lessee, Operating Lease, Supplemental Disclosure for Cash Flows [Table Text Block]",
        "terseLabel": "Cash Flows for Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://transact-tech.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Operating Leases [Text Block]",
        "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": [
      "r509"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r229",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r486",
      "r487",
      "r488",
      "r498",
      "r616",
      "r709",
      "r746",
      "r801",
      "r851",
      "r852"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and shareholders' equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r160",
      "r559",
      "r733",
      "r778",
      "r793",
      "r844"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Shareholders' Equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r192",
      "r229",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r486",
      "r487",
      "r488",
      "r498",
      "r733",
      "r801",
      "r851",
      "r852"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total noncurrent liabilities",
        "label": "Liabilities, Noncurrent",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r100",
      "r101",
      "r102",
      "r105",
      "r229",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r486",
      "r487",
      "r488",
      "r498",
      "r801",
      "r851",
      "r852"
     ]
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityAbstract",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Borrowings [Abstract]",
        "label": "Line of Credit Facility [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum borrowing capacity",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional borrowing capacity",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage fee on unused borrowings",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LinesOfCreditCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LinesOfCreditCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving loan payable",
        "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r158"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment [Member]",
        "terseLabel": "Tooling, Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r309",
      "r723",
      "r806",
      "r861",
      "r862"
     ]
    },
    "us-gaap_MarketingAndAdvertisingExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketingAndAdvertisingExpenseAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r336",
      "r401",
      "r531",
      "r574",
      "r608",
      "r609",
      "r669",
      "r671",
      "r673",
      "r674",
      "r676",
      "r694",
      "r695",
      "r712",
      "r720",
      "r728",
      "r735",
      "r803",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r336",
      "r401",
      "r531",
      "r574",
      "r608",
      "r609",
      "r669",
      "r671",
      "r673",
      "r674",
      "r676",
      "r694",
      "r695",
      "r712",
      "r720",
      "r728",
      "r735",
      "r803",
      "r853",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858"
     ]
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation allowance [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r309",
      "r723",
      "r806",
      "r861",
      "r862"
     ]
    },
    "us-gaap_NatureOfOperations": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NatureOfOperations",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusiness"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of business",
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r186"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r224"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r224"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by (used in) operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r128",
      "r129",
      "r130"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss",
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income (loss)",
        "totalLabel": "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",
      "r130",
      "r162",
      "r190",
      "r210",
      "r212",
      "r217",
      "r229",
      "r246",
      "r248",
      "r249",
      "r250",
      "r251",
      "r254",
      "r255",
      "r265",
      "r281",
      "r294",
      "r300",
      "r303",
      "r316",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r344",
      "r346",
      "r348",
      "r349",
      "r497",
      "r498",
      "r564",
      "r639",
      "r661",
      "r662",
      "r710",
      "r744",
      "r801"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recently issued 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": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://transact-tech.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted",
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://transact-tech.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated",
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Interest and other income (expense)",
        "label": "Nonoperating Income (Expense)",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest and other income (expense):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NontradeReceivablesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NontradeReceivablesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee retention credit receivable",
        "label": "Nontrade Receivables, Current",
        "documentation": "The sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of operating segments",
        "terseLabel": "Number of business segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "tact_NumberOfSoftwareSolutions": {
     "xbrltype": "integerItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "NumberOfSoftwareSolutions",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of software solutions from the after-market side of the business.",
        "label": "Number of software solutions",
        "terseLabel": "Number of software solutions from the after-market side of the business"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating expenses",
        "totalLabel": "Operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Description of business [Abstract]",
        "label": "Operating expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income (loss)",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r281",
      "r294",
      "r300",
      "r303",
      "r710"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease expense",
        "label": "Operating Lease, Expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r847"
     ]
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturity of Operating Lease Liabilities [Abstract]",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total lease liabilities",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r511"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r511"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease liabilities, net of current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r511"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating cash outflows from leases",
        "label": "Operating Lease, Payments",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r512",
      "r515"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Right-of-use assets",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r510"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average discount rate",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r517",
      "r732"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average remaining lease term",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "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": [
      "r516",
      "r732"
     ]
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwardsLineItems",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "tact_OperatingLossCarryforwardsNotSubjectToExpiration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "OperatingLossCarryforwardsNotSubjectToExpiration",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws that are not subject to expiration dates.",
        "label": "Operating Loss Carryforwards, Not Subject to Expiration",
        "terseLabel": "Net operating loss carryforwards not subject to expiration"
       }
      }
     },
     "auth_ref": []
    },
    "tact_OperatingLossCarryforwardsSubjectToExpiration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "OperatingLossCarryforwardsSubjectToExpiration",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws that are subject to expiration dates.",
        "label": "Operating Loss Carryforwards, Subject to Expiration",
        "terseLabel": "Net operating loss carryforwards subject to expiration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLossCarryforwardsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwardsTable",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards [Table]",
        "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r733"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r199"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation adjustment, net of tax",
        "terseLabel": "Foreign currency translation adjustment, net of tax",
        "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"
     ]
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other",
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r733"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other liabilities",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r126"
     ]
    },
    "tact_PacificRimMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "PacificRimMember",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Geographic area surrounding the edges of the Pacific Ocean. The Pacific Rim covers the western shores of North America and South America, in addition to Australia, eastern Asia and the islands of the Pacific.",
        "label": "Pacific Rim [Member]",
        "terseLabel": "Pacific Rim [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PatentsMember",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents [Member]",
        "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": [
      "r155"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsOfLoanCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfLoanCosts",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Payment of bank financing costs",
        "label": "Payments of Loan Costs",
        "documentation": "The cash outflow for loan origination associated cost which is usually collected through escrow."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Withholding taxes paid on stock issuance",
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r222"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Capital expenditures",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r816",
      "r817",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r813",
      "r814",
      "r815",
      "r816",
      "r817",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832"
     ]
    },
    "tact_PosAutomationAndBankingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "PosAutomationAndBankingMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of thermal printers used primarily by restaurants (including fine dining, casual dining, quick serve and hospitality establishments) located either at the checkout counter or within self-service kiosks to print receipts for consumers or print on linerless labels.",
        "label": "POS Automation and Banking [Member]",
        "terseLabel": "POS Automation [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r106",
      "r377"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares authorized (in shares)",
        "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": [
      "r106",
      "r618"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares issued (in shares)",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r106",
      "r377"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares outstanding (in shares)",
        "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": [
      "r106",
      "r618",
      "r636",
      "r866",
      "r867"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock",
        "label": "Preferred Stock, Value, Issued",
        "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": [
      "r106",
      "r555",
      "r733"
     ]
    },
    "us-gaap_PrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidTaxes",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid income taxes",
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r713",
      "r795"
     ]
    },
    "us-gaap_PrimeRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrimeRateMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime Rate [Member]",
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromLinesOfCredit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from bank borrowings",
        "label": "Proceeds from Lines of Credit",
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r777"
     ]
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash received from exercise of stock options",
        "label": "Proceeds from Stock Options Exercised",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r21"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r305",
      "r533",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r697",
      "r721",
      "r734",
      "r766",
      "r799",
      "r800",
      "r806",
      "r861"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "auth_ref": [
      "r305",
      "r533",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r697",
      "r721",
      "r734",
      "r766",
      "r799",
      "r800",
      "r806",
      "r861"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed assets [Abstract]",
        "label": "Fixed assets, net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "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": [
      "r7"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed assets, net",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "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": [
      "r137",
      "r176",
      "r182",
      "r183"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed assets",
        "label": "Property, Plant and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r195",
      "r562"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed assets, net",
        "label": "Property, Plant and Equipment, Net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r552",
      "r562",
      "r733"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNetByTypeAbstract",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed assets [Abstract]",
        "label": "Property, Plant and Equipment, Net, by Type [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed assets",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "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": [
      "r7",
      "r176",
      "r182",
      "r560"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Fixed Assets, Net",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "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": [
      "r7"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [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": [
      "r138"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated useful life",
        "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/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAccountsReceivableAndCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additions charged to costs and expenses",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r221",
      "r320"
     ]
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly results of operations (unaudited) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "QuarterlyFinancialInformationTextBlock",
     "presentation": [
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly results of operations (unaudited)",
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r273"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r336",
      "r398",
      "r401",
      "r434",
      "r435",
      "r436",
      "r530",
      "r531",
      "r574",
      "r608",
      "r609",
      "r669",
      "r671",
      "r673",
      "r674",
      "r676",
      "r694",
      "r695",
      "r712",
      "r720",
      "r728",
      "r735",
      "r738",
      "r798",
      "r803",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r336",
      "r398",
      "r401",
      "r434",
      "r435",
      "r436",
      "r530",
      "r531",
      "r574",
      "r608",
      "r609",
      "r669",
      "r671",
      "r673",
      "r674",
      "r676",
      "r694",
      "r695",
      "r712",
      "r720",
      "r728",
      "r735",
      "r738",
      "r798",
      "r803",
      "r854",
      "r855",
      "r856",
      "r857",
      "r858"
     ]
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized tax benefits [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Domain]",
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r399",
      "r523",
      "r524",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r635",
      "r637",
      "r668"
     ]
    },
    "us-gaap_RelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyMember",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Member]",
        "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family."
       }
      }
     },
     "auth_ref": [
      "r232",
      "r233",
      "r523",
      "r524",
      "r525",
      "r526",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r635",
      "r637",
      "r668"
     ]
    },
    "tact_RelatedPartyTransactionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "RelatedPartyTransactionAbstract",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Abstract]",
        "terseLabel": "Related Party Transaction [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r643",
      "r644",
      "r647"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related party transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party, Type [Axis]",
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r399",
      "r523",
      "r524",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r635",
      "r637",
      "r668",
      "r850"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related party transactions",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r520",
      "r521",
      "r522",
      "r524",
      "r527",
      "r590",
      "r591",
      "r592",
      "r645",
      "r646",
      "r647",
      "r666",
      "r667"
     ]
    },
    "srt_ReportableGeographicalComponentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ReportableGeographicalComponentsMember",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reportable Geographical Components [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]"
       }
      }
     },
     "auth_ref": [
      "r234",
      "r235",
      "r354",
      "r379",
      "r526",
      "r704",
      "r705"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Engineering, design and product development",
        "terseLabel": "Research and development expense",
        "documentation": "The aggregate 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 costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r453",
      "r859"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpenseAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Engineering, design and product development [Abstract]",
        "label": "Research and Development Expense [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Engineering, design and product development",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for costs it has 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."
       }
      }
     },
     "auth_ref": [
      "r452"
     ]
    },
    "us-gaap_ResearchMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchMember",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "R&amp;D Credit [Member]",
        "documentation": "Research tax credit carryforwards arising from certain qualifying expenditures incurred to develop new products and processes."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Share Units [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r142",
      "r558",
      "r578",
      "r580",
      "r588",
      "r619",
      "r733"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r243",
      "r244",
      "r245",
      "r247",
      "r253",
      "r255",
      "r317",
      "r318",
      "r443",
      "r444",
      "r445",
      "r474",
      "r475",
      "r489",
      "r491",
      "r492",
      "r494",
      "r495",
      "r575",
      "r577",
      "r593",
      "r866"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails",
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net sales",
        "terseLabel": "Sales revenue",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r282",
      "r283",
      "r293",
      "r298",
      "r299",
      "r305",
      "r307",
      "r309",
      "r395",
      "r396",
      "r533"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue recognition",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r696"
     ]
    },
    "us-gaap_RevenuePerformanceObligationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuePerformanceObligationAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligations [Abstract]",
        "label": "Revenue, Performance Obligation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligations",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r179"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected timing of satisfaction, period",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r180"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r180"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "tact_RevolvingCreditFacilitySienaLendingGroupLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "RevolvingCreditFacilitySienaLendingGroupLlcMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement with Siena Lending Group LLC that provides a revolving credit line, subject to a borrowing base.",
        "label": "Revolving Credit Facility, Siena Lending Group Llc [Member]",
        "terseLabel": "Sienna Credit Facility [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RisksAndUncertaintiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration of credit risk [Abstract]",
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://transact-tech.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Adopted",
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://transact-tech.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Terminated",
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r756"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r763"
     ]
    },
    "srt_ScenarioForecastMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioForecastMember",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forecast [Member]"
       }
      }
     },
     "auth_ref": [
      "r402",
      "r788"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Domain]"
       }
      }
     },
     "auth_ref": [
      "r256",
      "r402",
      "r760",
      "r788"
     ]
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Liabilities",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Components of Income Tax Expense (Benefit)",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "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": [
      "r152"
     ]
    },
    "us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowance for Expected Credit Losses",
        "label": "Financing Receivable, Current, Allowance for Credit Loss [Table Text Block]",
        "documentation": "Tabular disclosure of allowance for credit loss of financing receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r794"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r151"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per Share",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "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": [
      "r790"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statutory to Effective Tax Rate Reconciliation",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "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": [
      "r150"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]",
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements."
       }
      }
     },
     "auth_ref": [
      "r78"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r68",
      "r534"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Identifiable Intangible Assets",
        "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": [
      "r66",
      "r68"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r113",
      "r114",
      "r115"
     ]
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "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": [
      "r7"
     ]
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Quarterly Results of Operations",
        "label": "Quarterly Financial Information [Table Text Block]",
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data."
       }
      }
     },
     "auth_ref": [
      "r170"
     ]
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Related Party Transactions, by Related Party [Table]",
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r95",
      "r643",
      "r644",
      "r647"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales and Fixed Assets by Geographic Area",
        "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": [
      "r61",
      "r121"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Schedule of 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": [
      "r61",
      "r117"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "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": [
      "r404",
      "r406",
      "r409",
      "r410",
      "r411",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r18",
      "r19",
      "r77"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assumptions Used in Option Valuation Calculations",
        "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": [
      "r149"
     ]
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration of Credit Risk",
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r53",
      "r56",
      "r57",
      "r88",
      "r156"
     ]
    },
    "us-gaap_SecuredDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuredDebt",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance outstanding",
        "label": "Secured Debt",
        "documentation": "Carrying value as of the balance sheet date, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r159",
      "r860"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r747"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r307",
      "r308",
      "r605",
      "r606",
      "r607",
      "r670",
      "r672",
      "r675",
      "r677",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r698",
      "r722",
      "r738",
      "r806",
      "r861"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment reporting [Abstract]",
        "label": "Geographic area information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic area information",
        "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": [
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r286",
      "r297",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r309"
     ]
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment reporting",
        "documentation": "Disclosure of accounting policy for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r307",
      "r711"
     ]
    },
    "us-gaap_SegmentsGeographicalAreasAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentsGeographicalAreasAbstract",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical area information [Abstract]",
        "label": "Segments, Geographical Areas [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling and marketing",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SeriesAPreferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SeriesAPreferredStockMember",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Series A Preferred Stock [Member]",
        "documentation": "Series A preferred stock."
       }
      }
     },
     "auth_ref": [
      "r768",
      "r769",
      "r804"
     ]
    },
    "us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedArrangementsToObtainGoodsAndServicesAbstract",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock incentive plans [Abstract]",
        "label": "Share-Based Payment Arrangement, Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAbstract",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based compensation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were exercised during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Exercises in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Exercised (in dollars per share)"
       }
      }
     },
     "auth_ref": []
    },
    "tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans for which the right to exercise has lapsed under the terms of the plan agreements.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Expirations, Weighted Average Grant Date Fair Value",
        "terseLabel": "Expired (in dollars per share)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "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": [
      "r426"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "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": [
      "r424"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Outstanding, end of period (in dollars per share)",
        "periodStartLabel": "Outstanding, beginning of period (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r422"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Grant Stock Price [Abstract]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units vested and expected to vest",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms",
        "documentation": "Weighted average remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r148"
     ]
    },
    "tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant": {
     "xbrltype": "percentItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exercise price of awards granted under the plans as a percentage of the fair market value of the Company's common stock at the date of grant.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Exercise Price as Percentage of Fair Market Value of Common Stock at Date of Grant",
        "terseLabel": "Exercise price as a percentage of fair market value of common stock at date of grant"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assumptions used in valuation model [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividend yield",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "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": [
      "r435"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected volatility",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r434"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk-free interest rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r436"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r406",
      "r409",
      "r410",
      "r411",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Exercised (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised",
        "documentation": "Number of non-option equity instruments exercised by participants."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expired (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Expirations",
        "documentation": "Number of shares under non-option equity instrument agreements for which rights to exercise lapsed."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Forfeitures",
        "documentation": "Number of shares under non-option equity instrument agreements that were cancelled as a result of occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Granted",
        "documentation": "Net number of non-option equity instruments granted to participants."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Outstanding, beginning of period (in shares)",
        "periodEndLabel": "Outstanding, end of period (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number",
        "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r13"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of Units [Roll Forward]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares authorized (in shares)",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r731"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares available for grant (in shares)",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans": {
     "xbrltype": "integerItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of stock incentive plans.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of stock incentive plans",
        "terseLabel": "Number of stock incentive plans"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options exercisable, end of period (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r415"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options exercisable, end of period (in dollars per share)",
        "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": [
      "r415"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intrinsic value of stock options exercised",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r428"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Expired (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period",
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements."
       }
      }
     },
     "auth_ref": [
      "r420"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period",
        "documentation": "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."
       }
      }
     },
     "auth_ref": [
      "r419"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r417"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Outstanding, beginning of period (in shares)",
        "periodEndLabel": "Outstanding, end of period (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r413",
      "r414"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Shares [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Outstanding, beginning of period (in dollars per share)",
        "periodEndLabel": "Outstanding, end of period (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r413",
      "r414"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options vested or expected to vest (in dollars per share)",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r430"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options vested and expected to vest",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "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": [
      "r429"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Awards Vested and Expected to Vest",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]",
        "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. 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": [
      "r19"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options vested or expected to vest (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "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": [
      "r429"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Award [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r410",
      "r411",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercised (in dollars per share)",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r418"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expired (in dollars per share)",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired."
       }
      }
     },
     "auth_ref": [
      "r420"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forfeited (in dollars per share)",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated."
       }
      }
     },
     "auth_ref": [
      "r419"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted (in dollars per share)",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r417"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based payments",
        "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": [
      "r403",
      "r412",
      "r431",
      "r432",
      "r433",
      "r434",
      "r437",
      "r446",
      "r447",
      "r448",
      "r449"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units vested and expected to vest",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested",
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term of award",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r730"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected option term",
        "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": [
      "r433"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options exercisable, end of period",
        "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": [
      "r76"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options exercisable, end of period",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "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": [
      "r76"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average fair value of grants (in dollars per share)",
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options vested and expected to vest",
        "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": [
      "r429"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of all awards vested",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value",
        "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock."
       }
      }
     },
     "auth_ref": [
      "r428"
     ]
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Relinquishment of stock awards and deferred stock units to pay withholding taxes (in shares)",
        "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StateAndLocalJurisdictionMember",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State [Member]",
        "label": "State and Local Jurisdiction [Member]",
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r188",
      "r201",
      "r202",
      "r203",
      "r229",
      "r260",
      "r264",
      "r266",
      "r268",
      "r275",
      "r276",
      "r316",
      "r337",
      "r340",
      "r341",
      "r342",
      "r348",
      "r349",
      "r377",
      "r378",
      "r380",
      "r381",
      "r382",
      "r498",
      "r584",
      "r585",
      "r586",
      "r587",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r618",
      "r640",
      "r663",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r759",
      "r776",
      "r789"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r37",
      "r189",
      "r215",
      "r216",
      "r217",
      "r243",
      "r244",
      "r245",
      "r247",
      "r253",
      "r255",
      "r274",
      "r317",
      "r318",
      "r383",
      "r443",
      "r444",
      "r445",
      "r474",
      "r475",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r519",
      "r575",
      "r576",
      "r577",
      "r593",
      "r663"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r307",
      "r308",
      "r605",
      "r606",
      "r607",
      "r670",
      "r672",
      "r675",
      "r677",
      "r683",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r698",
      "r722",
      "r738",
      "r806",
      "r861"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r274",
      "r533",
      "r582",
      "r604",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r618",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r637",
      "r641",
      "r642",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r663",
      "r739"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "auth_ref": [
      "r256",
      "r402",
      "r760",
      "r761",
      "r788"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r274",
      "r533",
      "r582",
      "r604",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r618",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r637",
      "r641",
      "r642",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r663",
      "r739"
     ]
    },
    "us-gaap_StockCompensationPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockCompensationPlanMember",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Awards [Member]",
        "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares."
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockGrantedDuringPeriodValueSharebasedCompensationForfeited",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Relinquishment of stock awards and deferred stock units to pay withholding taxes",
        "label": "Shares Granted, Value, Share-Based Payment Arrangement, Forfeited",
        "documentation": "Value of forfeited shares granted under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Issuance of common stock on restricted stock units (in shares)",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures",
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r106",
      "r107",
      "r142"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of common stock from exercise of stock options (in shares)",
        "negatedLabel": "Exercised (in shares)",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r106",
      "r107",
      "r142",
      "r418"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Issuance of common stock on restricted stock units",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures",
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r142"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock from exercise of stock options",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r37",
      "r142"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://transact-tech.com/role/StockRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock repurchased (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": [
      "r11",
      "r106",
      "r107",
      "r142",
      "r587",
      "r663",
      "r681"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/StockRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of common stock repurchased",
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate 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": [
      "r11",
      "r106",
      "r107",
      "r142",
      "r593",
      "r663",
      "r681",
      "r745"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total shareholders' equity",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r110",
      "r111",
      "r133",
      "r620",
      "r636",
      "r664",
      "r665",
      "r733",
      "r746",
      "r778",
      "r793",
      "r844",
      "r866"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent events",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r528",
      "r529"
     ]
    },
    "us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized Tax Benefits",
        "label": "Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]",
        "documentation": "Tabular disclosure of unrecognized tax benefits for which a material change is reasonably possible in the next twelve months, typically including the nature of the uncertainty, the event(s) that could cause a material change, and an estimate of the range of the reasonably possible change or a statement that an estimate of the range cannot be made. An unrecognized tax benefit is the difference between a tax position taken in a tax return and the amounts recognized in the financial statements for which it is more likely than not, based on the technical merits of the position, that the tax position will not be sustained upon examination."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_SummaryOfValuationAllowanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SummaryOfValuationAllowanceTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowance on Deferred Tax Assets",
        "documentation": "Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental cash flow information:",
        "label": "Supplemental Cash Flow Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_TaxCreditCarryforwardAmountSubjectToExpiration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "TaxCreditCarryforwardAmountSubjectToExpiration",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws that are subject to expiration dates.",
        "label": "Tax Credit Carryforward, Amount, Subject to Expiration",
        "terseLabel": "Tax credit carryforwards subject to expiration"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxCreditCarryforwardAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCreditCarryforwardAxis",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Credit Carryforward [Axis]",
        "documentation": "Information by specific tax credit related to an unused tax credit."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_TaxCreditCarryforwardNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCreditCarryforwardNameDomain",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax Credit Carryforward, Name [Domain]",
        "documentation": "The name of the tax credit carryforward."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Taxes",
        "label": "Taxes Payable, Current",
        "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": [
      "r28"
     ]
    },
    "us-gaap_TechnologyBasedIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TechnologyBasedIntangibleAssetsMember",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchased Technology [Member]",
        "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation": {
     "xbrltype": "durationItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period the customer receives free maintenance upon completion of EPICENTRAL installation, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Term of free maintenance upon completion of software installation",
        "terseLabel": "Term of free maintenance upon completion of software installation"
       }
      }
     },
     "auth_ref": []
    },
    "tact_TheBrightGroupMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "TheBrightGroupMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Bright Groups a dynamic Australian-based manufacturing services group.",
        "label": "The Bright Group [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_TheOneGroupHospitalityIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "TheOneGroupHospitalityIncMember",
     "presentation": [
      "http://transact-tech.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A global hospitality company that develops and operates upscale, high-energy restaurants and lounges and provides hospitality management services for hotels, casinos and other high-end venues both nationally and internationally. One of the Company's directors serves as President and Chief Executive Officer of this entity.",
        "label": "The One Group Hospitality, Inc [Member]",
        "terseLabel": "The One Group Hospitality, Inc [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ToolsDiesAndMoldsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ToolsDiesAndMoldsMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tooling [Member]",
        "documentation": "Equipment commonly used to cut, shape, and form metal and other materials into goods for sale."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable and credit losses",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r166",
      "r167",
      "r312",
      "r313",
      "r315"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "tact_TransactServicesGroupMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20231231",
     "localname": "TransactServicesGroupMember",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from range of supplies and consumables used in the printing and scanning activities of customers in the restaurant and hospitality, banking, retail, casino and gaming, government and oil and gas exploration markets.",
        "label": "TransAct Services Group [Member]",
        "terseLabel": "TransAct Services Group [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TreasuryStockAcquiredAverageCostPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockAcquiredAverageCostPerShare",
     "presentation": [
      "http://transact-tech.com/role/StockRepurchaseProgramDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Average purchase price of common stock repurchased (in dollars per share)",
        "label": "Shares Acquired, Average Cost Per Share",
        "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock (in shares)",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_TreasuryStockTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockTextBlock",
     "presentation": [
      "http://transact-tech.com/role/StockRepurchaseProgram"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock repurchase program",
        "documentation": "The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock, 4,044,842 shares, at cost",
        "label": "Treasury Stock, Value",
        "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": [
      "r36",
      "r74",
      "r75"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Unrecognized tax benefits, beginning of period",
        "periodEndLabel": "Unrecognized tax benefits, end of period",
        "label": "Unrecognized Tax Benefits",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r463"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsPeriodIncreaseDecrease",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax positions taken during the current period",
        "documentation": "Amount of increase (decrease) in unrecognized tax benefits attributable to uncertain tax positions taken in tax returns."
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Lapse of statute of limitations",
        "label": "Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations."
       }
      }
     },
     "auth_ref": [
      "r464"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized tax benefits that would favorably affect effective income tax rate if recognized",
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate."
       }
      }
     },
     "auth_ref": [
      "r465"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59",
      "r60",
      "r173",
      "r174",
      "r177",
      "r178"
     ]
    },
    "us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceOperatingLossCarryforwardsMember",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Net Operating Loss Carryforwards [Member]",
        "documentation": "Valuation allowance of deferred tax asset attributable to operating loss carryforward."
       }
      }
     },
     "auth_ref": [
      "r780",
      "r781",
      "r782",
      "r783",
      "r784"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesBalance",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, beginning of period",
        "periodEndLabel": "Balance, end of period",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount",
        "documentation": "Amount of valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r242"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additions charged to income tax provision",
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense."
       }
      }
     },
     "auth_ref": [
      "r240"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDeductions",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Subtractions released to income tax provisions",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction",
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r241"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDomain",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowances and Reserves [Domain]",
        "documentation": "Valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r238",
      "r239",
      "r241",
      "r242"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowances and Reserves Type [Axis]",
        "documentation": "Information by valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r238",
      "r239",
      "r241",
      "r242"
     ]
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r237",
      "r238",
      "r239",
      "r241",
      "r242"
     ]
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r237",
      "r238",
      "r239",
      "r241",
      "r242"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted (in shares)",
        "totalLabel": "Diluted: Weighted average common and common equivalent shares outstanding (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r259",
      "r268"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Basic (in shares)",
        "terseLabel": "Basic: Weighted average common shares outstanding (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r268"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares [Abstract]",
        "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "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/2147481877/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r6": {
   "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"
  },
  "r7": {
   "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"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(1)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(2)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(3)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(4)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "c(2)",
   "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": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13"
  },
  "r23": {
   "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"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r38": {
   "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"
  },
  "r39": {
   "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"
  },
  "r40": {
   "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"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r50": {
   "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"
  },
  "r51": {
   "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"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16"
  },
  "r53": {
   "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"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r56": {
   "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"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21"
  },
  "r58": {
   "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"
  },
  "r59": {
   "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"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r72": {
   "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"
  },
  "r73": {
   "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"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "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"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r78": {
   "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"
  },
  "r79": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r87": {
   "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"
  },
  "r88": {
   "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"
  },
  "r89": {
   "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"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r98": {
   "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/2147480981/942-825-50-1"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-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 201.5-02(24))",
   "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 201.5-02(25))",
   "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 201.5-02(26))",
   "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(19))",
   "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(20))",
   "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(23))",
   "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(28))",
   "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(29))",
   "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(30)(a)(1))",
   "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(30)(a)(3))",
   "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(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r111": {
   "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"
  },
  "r112": {
   "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"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r116": {
   "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"
  },
  "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(1))",
   "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(10))",
   "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.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r122": {
   "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,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r127": {
   "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"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "270",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//270/tableOfContent"
  },
  "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": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r138": {
   "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"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505-30/tableOfContent"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//710/tableOfContent"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "712",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//712/tableOfContent"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r157": {
   "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/2147479853/942-210-S99-1"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r160": {
   "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/2147479853/942-210-S99-1"
  },
  "r161": {
   "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/2147483589/942-220-S99-1"
  },
  "r162": {
   "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/2147483589/942-220-S99-1"
  },
  "r163": {
   "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.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r164": {
   "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.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r166": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r168": {
   "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"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "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/2147480321/958-360-50-1"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r182": {
   "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/2147480321/958-360-50-6"
  },
  "r183": {
   "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/2147480321/958-360-50-7"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r194": {
   "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"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r208": {
   "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(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(210.5-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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(k)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r233": {
   "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(k)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r234": {
   "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(m)(1)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r235": {
   "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(m)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r236": {
   "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"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1B"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r314": {
   "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"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r325": {
   "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"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-30/tableOfContent"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "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"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r356": {
   "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"
  },
  "r357": {
   "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"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r366": {
   "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"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "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"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "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"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "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"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "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"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "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"
  },
  "r426": {
   "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"
  },
  "r427": {
   "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"
  },
  "r428": {
   "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"
  },
  "r429": {
   "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"
  },
  "r430": {
   "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"
  },
  "r431": {
   "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"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r439": {
   "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"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r466": {
   "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"
  },
  "r467": {
   "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"
  },
  "r468": {
   "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"
  },
  "r469": {
   "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"
  },
  "r470": {
   "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"
  },
  "r471": {
   "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"
  },
  "r472": {
   "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"
  },
  "r473": {
   "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"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r479": {
   "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.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r480": {
   "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.Fact.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r481": {
   "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.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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/2147482526/740-270-50-1"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "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"
  },
  "r496": {
   "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"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r500": {
   "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/2147481877/830-230-45-1"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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"
  },
  "r503": {
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r509": {
   "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"
  },
  "r510": {
   "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"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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/2147483147/928-340-50-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r546": {
   "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/2147482274/932-235-50-8"
  },
  "r547": {
   "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/2147482274/932-235-50-8"
  },
  "r548": {
   "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/2147479853/942-210-S99-1"
  },
  "r549": {
   "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/2147483589/942-220-S99-1"
  },
  "r550": {
   "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/2147483589/942-220-S99-1"
  },
  "r551": {
   "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/2147479557/942-235-S99-1"
  },
  "r552": {
   "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/2147480842/942-360-50-1"
  },
  "r553": {
   "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/2147479440/944-210-S99-1"
  },
  "r554": {
   "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/2147479440/944-210-S99-1"
  },
  "r555": {
   "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/2147479440/944-210-S99-1"
  },
  "r556": {
   "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/2147479440/944-210-S99-1"
  },
  "r557": {
   "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/2147479440/944-210-S99-1"
  },
  "r558": {
   "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/2147479440/944-210-S99-1"
  },
  "r559": {
   "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/2147479440/944-210-S99-1"
  },
  "r560": {
   "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/2147479440/944-210-S99-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r562": {
   "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/2147479440/944-210-S99-1"
  },
  "r563": {
   "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/2147483586/944-220-S99-1"
  },
  "r564": {
   "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/2147483586/944-220-S99-1"
  },
  "r565": {
   "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/2147483586/944-220-S99-1"
  },
  "r566": {
   "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/2147483586/944-220-S99-1"
  },
  "r567": {
   "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/2147483586/944-220-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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/2147479383/944-825-50-1B"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6"
  },
  "r593": {
   "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/2147480767/946-205-45-4"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7"
  },
  "r604": {
   "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/2147480555/946-210-45-4"
  },
  "r605": {
   "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/2147480524/946-210-50-1"
  },
  "r606": {
   "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/2147480524/946-210-50-2"
  },
  "r607": {
   "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/2147480524/946-210-50-6"
  },
  "r608": {
   "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/2147480524/946-210-50-6"
  },
  "r609": {
   "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/2147480524/946-210-50-6"
  },
  "r610": {
   "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/2147479617/946-210-S99-1"
  },
  "r611": {
   "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/2147479617/946-210-S99-1"
  },
  "r612": {
   "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/2147479617/946-210-S99-1"
  },
  "r613": {
   "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/2147479617/946-210-S99-1"
  },
  "r614": {
   "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/2147479617/946-210-S99-1"
  },
  "r615": {
   "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/2147479617/946-210-S99-1"
  },
  "r616": {
   "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/2147479617/946-210-S99-1"
  },
  "r617": {
   "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/2147479617/946-210-S99-1"
  },
  "r618": {
   "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/2147479617/946-210-S99-1"
  },
  "r619": {
   "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/2147479617/946-210-S99-1"
  },
  "r620": {
   "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/2147479617/946-210-S99-1"
  },
  "r621": {
   "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/2147479617/946-210-S99-1"
  },
  "r622": {
   "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/2147479617/946-210-S99-1"
  },
  "r623": {
   "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/2147479617/946-210-S99-1"
  },
  "r624": {
   "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/2147479617/946-210-S99-1"
  },
  "r625": {
   "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/2147479617/946-210-S99-1"
  },
  "r626": {
   "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/2147479617/946-210-S99-1"
  },
  "r627": {
   "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/2147479617/946-210-S99-1"
  },
  "r628": {
   "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/2147479617/946-210-S99-1"
  },
  "r629": {
   "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/2147479617/946-210-S99-1"
  },
  "r630": {
   "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/2147479617/946-210-S99-1"
  },
  "r631": {
   "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/2147479617/946-210-S99-1"
  },
  "r632": {
   "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/2147479617/946-210-S99-1"
  },
  "r633": {
   "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/2147479617/946-210-S99-1"
  },
  "r634": {
   "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/2147479617/946-210-S99-1"
  },
  "r635": {
   "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/2147479617/946-210-S99-2"
  },
  "r636": {
   "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/2147479617/946-210-S99-2"
  },
  "r637": {
   "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/2147483581/946-220-45-3"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-6"
  },
  "r639": {
   "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/2147483581/946-220-45-7"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3"
  },
  "r641": {
   "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/2147483575/946-220-S99-1"
  },
  "r642": {
   "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/2147483575/946-220-S99-1"
  },
  "r643": {
   "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)(c)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r644": {
   "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)(c)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r645": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r646": {
   "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)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r648": {
   "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(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r649": {
   "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/2147483575/946-220-S99-1"
  },
  "r650": {
   "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/2147483575/946-220-S99-1"
  },
  "r651": {
   "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/2147483575/946-220-S99-1"
  },
  "r652": {
   "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/2147483575/946-220-S99-1"
  },
  "r653": {
   "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/2147483575/946-220-S99-1"
  },
  "r654": {
   "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/2147483575/946-220-S99-1"
  },
  "r655": {
   "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/2147483575/946-220-S99-1"
  },
  "r656": {
   "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/2147483575/946-220-S99-1"
  },
  "r657": {
   "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/2147483575/946-220-S99-1"
  },
  "r658": {
   "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/2147483575/946-220-S99-1"
  },
  "r659": {
   "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/2147483575/946-220-S99-1"
  },
  "r660": {
   "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/2147483575/946-220-S99-1"
  },
  "r661": {
   "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/2147483575/946-220-S99-1"
  },
  "r662": {
   "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/2147483575/946-220-S99-3"
  },
  "r663": {
   "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/2147483575/946-220-S99-3"
  },
  "r664": {
   "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/2147483575/946-220-S99-3"
  },
  "r665": {
   "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/2147483575/946-220-S99-3"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r668": {
   "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/2147480833/946-310-45-1"
  },
  "r669": {
   "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/2147480032/946-320-S99-1"
  },
  "r670": {
   "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/2147480032/946-320-S99-1"
  },
  "r671": {
   "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/2147480032/946-320-S99-2"
  },
  "r672": {
   "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/2147480032/946-320-S99-2"
  },
  "r673": {
   "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/2147480032/946-320-S99-3"
  },
  "r674": {
   "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/2147480032/946-320-S99-3"
  },
  "r675": {
   "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/2147480032/946-320-S99-3"
  },
  "r676": {
   "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/2147480032/946-320-S99-6"
  },
  "r677": {
   "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/2147480032/946-320-S99-6"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r681": {
   "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/2147481004/946-505-50-2"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r683": {
   "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(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r684": {
   "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/2147481027/954-310-50-2"
  },
  "r685": {
   "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/2147479438/970-360-S99-1"
  },
  "r686": {
   "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/2147479438/970-360-S99-1"
  },
  "r687": {
   "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/2147479438/970-360-S99-1"
  },
  "r688": {
   "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/2147479438/970-360-S99-1"
  },
  "r689": {
   "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/2147479438/970-360-S99-1"
  },
  "r690": {
   "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/2147479438/970-360-S99-1"
  },
  "r691": {
   "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/2147479438/970-360-S99-1"
  },
  "r692": {
   "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/2147479438/970-360-S99-1"
  },
  "r693": {
   "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(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r694": {
   "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/2147482856/976-310-50-1"
  },
  "r695": {
   "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/2147482707/978-310-50-1"
  },
  "r696": {
   "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"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r698": {
   "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"
  },
  "r699": {
   "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"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21"
  },
  "r705": {
   "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"
  },
  "r706": {
   "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"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r708": {
   "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"
  },
  "r709": {
   "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"
  },
  "r710": {
   "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"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47"
  },
  "r712": {
   "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"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r714": {
   "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"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r720": {
   "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"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r722": {
   "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"
  },
  "r723": {
   "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"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r728": {
   "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"
  },
  "r729": {
   "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"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r731": {
   "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"
  },
  "r732": {
   "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"
  },
  "r733": {
   "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"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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/2147480524/946-210-50-1"
  },
  "r737": {
   "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/2147480524/946-210-50-6"
  },
  "r738": {
   "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/2147480493/946-210-55-1"
  },
  "r739": {
   "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/2147480833/946-310-45-1"
  },
  "r740": {
   "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/2147480032/946-320-S99-1"
  },
  "r741": {
   "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/2147480032/946-320-S99-2"
  },
  "r742": {
   "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/2147480032/946-320-S99-3"
  },
  "r743": {
   "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/2147480032/946-320-S99-6"
  },
  "r744": {
   "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/2147480167/946-830-55-10"
  },
  "r745": {
   "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/2147480167/946-830-55-11"
  },
  "r746": {
   "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/2147480167/946-830-55-12"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r753": {
   "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"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r759": {
   "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"
  },
  "r760": {
   "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"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3"
  },
  "r762": {
   "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/2147480887/718-740-35-2"
  },
  "r763": {
   "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"
  },
  "r764": {
   "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/2147479383/944-825-50-1B"
  },
  "r765": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r766": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r767": {
   "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"
  },
  "r768": {
   "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(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r769": {
   "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(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r770": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r771": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r772": {
   "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"
  },
  "r773": {
   "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"
  },
  "r774": {
   "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"
  },
  "r775": {
   "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"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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"
  },
  "r780": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r781": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r782": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r783": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r784": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r785": {
   "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"
  },
  "r786": {
   "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"
  },
  "r787": {
   "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"
  },
  "r788": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r789": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55"
  },
  "r790": {
   "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"
  },
  "r791": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r792": {
   "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"
  },
  "r793": {
   "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"
  },
  "r794": {
   "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"
  },
  "r795": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r796": {
   "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"
  },
  "r797": {
   "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"
  },
  "r798": {
   "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"
  },
  "r799": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r800": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r801": {
   "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"
  },
  "r802": {
   "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"
  },
  "r803": {
   "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"
  },
  "r804": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r805": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r806": {
   "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"
  },
  "r807": {
   "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"
  },
  "r808": {
   "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"
  },
  "r809": {
   "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"
  },
  "r810": {
   "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"
  },
  "r811": {
   "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"
  },
  "r812": {
   "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"
  },
  "r813": {
   "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"
  },
  "r814": {
   "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"
  },
  "r815": {
   "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"
  },
  "r816": {
   "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"
  },
  "r817": {
   "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"
  },
  "r818": {
   "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"
  },
  "r819": {
   "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"
  },
  "r820": {
   "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"
  },
  "r821": {
   "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"
  },
  "r822": {
   "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"
  },
  "r823": {
   "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"
  },
  "r824": {
   "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"
  },
  "r825": {
   "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"
  },
  "r826": {
   "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"
  },
  "r827": {
   "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"
  },
  "r828": {
   "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"
  },
  "r829": {
   "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"
  },
  "r830": {
   "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"
  },
  "r831": {
   "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"
  },
  "r832": {
   "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"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r834": {
   "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"
  },
  "r835": {
   "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"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r837": {
   "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"
  },
  "r838": {
   "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"
  },
  "r839": {
   "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"
  },
  "r840": {
   "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"
  },
  "r841": {
   "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.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r842": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A"
  },
  "r843": {
   "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"
  },
  "r844": {
   "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"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r847": {
   "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"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r849": {
   "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"
  },
  "r850": {
   "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"
  },
  "r851": {
   "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"
  },
  "r852": {
   "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"
  },
  "r853": {
   "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"
  },
  "r854": {
   "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"
  },
  "r855": {
   "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"
  },
  "r856": {
   "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"
  },
  "r857": {
   "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"
  },
  "r858": {
   "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"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r861": {
   "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"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r863": {
   "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/2147480767/946-205-45-4"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r866": {
   "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/2147483575/946-220-S99-3"
  },
  "r867": {
   "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/2147483575/946-220-S99-3"
  },
  "r868": {
   "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/2147480032/946-320-S99-1"
  },
  "r869": {
   "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/2147480032/946-320-S99-2"
  },
  "r870": {
   "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/2147480032/946-320-S99-3"
  },
  "r871": {
   "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/2147480032/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>96
<FILENAME>0001140361-24-013040-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001140361-24-013040-xbrl.zip
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
MU.F=3,G9G,9-"LT;!0O9L'!O:\$/Z"1"_\YTX@B;&!XOEB_>HK2V>O11AAH
M G;X]/W)K_M_A/4&/?]= PN"IA^ ,/07AY,D@O\_/3XX_'Q^MO\1UML-W@E%
MZ1B0.&+B&R<L;$,F8W#(:G,?A!O(=[T^A513-LTPH1RM:$ ,'/V-0-1[5N;*
M[497PRS?&8%TO)*;FUK^1A%)!>C0ZHCU)$)>1VD^C:5'P;;RU9K/];-K;@7]
M(KW8$4\G*'<K-L6I Y;S"@@:,#$A>P;#25+1JNU*\!=46M$D S,;2:%4:,,-
M&.3[+ \@IH  BVF.<@H2:952[>#O67Z52>N+>@>A\H<H=H76$\(XR;+\4MCD
M L5*>3E+FW2E7B8I2D(M;Y !@-Q]3+HX\35QHXA*L=08--K75.63IK+^P);B
MZ(V+\NE$G51E"C'1<,2PBXYKP6>>3%#7J9*(2-3H_7$>344\P;!!9 EBD09E
MT 52)!>X.@>)8D*NU[J5K.CWY/"3BF>^;@A':Y/%B#T8Y\-@O304A#L)[8NJ
M2,*IM"!*0''TEX!Q1+6D*;[=9! @V0)82YORE?VEGT3N+$!=V&I4Y"0NN+,/
M) UHB@U#IF@""0*P_-5 OD.\HD&6._S_%#T.*?Z)#/C_PKG"LL5M!R!2PI"#
MH#@N\=M2^ZL&8&"/P B*T #=18#"B>9"@-1XE$0.8=>"A='0)PM+1Q)!+VR#
M#'&PM%&"U<*>AB4+%X+V4R$_QN\-LB*9UCB$#%BDY'=&] >16?/([P(! X^\
M&-'76J2HVD;G%_AQHD_\?/"+.? KKCUH3(M4IR#;B!R?<K6"P63E=(P:<(G+
MB!5MZKTA2E\*(XOB+,K39JD=Y"/4_$-PF;RD0 F1&_E.TL:\[!!(>$&]820Z
MDP0S+,Q X(J'Q()@>U=7NXK:U%YV89OB:>3L(;35DK7B;$Q0 1HHN,1%RQ\
M'TO##RTZ%"R)C%/4EX09*ORK_ (7_+86YA(LJ*$$O'&BBFW)5()OE_-.7<XW
MY/7BI)6#6OE,&_5SMA"Z3K<)EHX8+;%A! 3R"E8@!S/>:+,G\I+,JA8B=P;U
MGC2/I'8JA:R@X'_EQ5<K7@P'(D-N,D\)$7862Z37; 0*%##@0C-K+=:6+50O
M)W,^ C/[!^C#)2[CDL7L';Q),"'TV](+!$,4XD+>B3'L:6%TV)L9E]3?87EQ
M;KP>BAR_Z)PDX>)ARO-'W9%LX'P"T$P;SL$(&+M],%QWC!'W"#U*W0CK.@&$
M_)6-8\"@ UHLYBY[?>>W45)E_,;9!]R: K4,2%]HO6_(JQOHU,G0^P;/;SAN
MI^WU#.54(! F(T3VC)( \2A?^6[KM=-K]YN=GNLNT+77JDP[FY=%>Y3GU=)D
MTU6R546"96V5"\M!YJ,*WY-^.IOD:KN=Y'<[>YY*)UUA&]MLXFTV\3*RO(TE
MS!:T>A8=HK])?[<&M],91^IR/A@I<=^\QD=:/9Z)-)ZF!0A]*?I0@\!46)*8
M-7<)94H(.UY&PK!+1E7P:ZV=DYWZ"K-U*.9)RJ=,C# 1G*PY FGP6AI2:,B0
MG2L<LRB.,6YLO$H7Z.1!TV\";[FF?#IX[I_=W<"!G:>6N;=X([NX3%3"<N&!
MQ@T(!3_%!!:M^"H!.K<K^#(B;9KD*3S2>V!WT%.BZX',:U).78 'V%\;B[+[
MR/@Q2IP#9D@-.Q:^$YW;C6$+S+7!&)6TEY06JM(P\D('@.!9TXL+D6\NTZ9F
MXX,FTTAG=EA12C1P*DR.$EE$#FK)AH*$CQ2#Z)RK['F1-(;QY8IC AVNK$SS
M*TRP$/Z[L<@OH3W-JZO*N<-*.[\*O:4C%COA-$DK]'O)["23FB0CD;.KC\ X
M*C'G+4'S;%JJK K0\:XPF\'RZXG5)A3MP/"G0S(4##L@]Q1O20J9YR/D QQ=
MC'8FDIW>X'C"R-,B4CM$Q.]6"A;:XQ4%6RA]%)]7(9Z**@.1P8I_BV?;3X7[
M@UWG"!^+&NQB9%@*:BO#CER'(_*U@#U+?C($HP@["^XG7/DB9(S?7X*!)2*/
MN H5(\-G %9,,Y$!H**^"!N,8,T%L\7B6%5S7U*6";\&?"Q"Y023:*, W7!X
M0@X@@*)XL[A+I?;*Y)A(6"#&DV" 8'Q4EIFTN]BLPJ,IR)$74XS<RDB;";O=
MDDG9<,9XJUZP>GC(P0A112%@KJ <"F]L4$N/@I5U-FMM_YI?@4@N&B*C&7:9
M8< 8-GH!R 8J#><RX, =RA6$'YF=98C8);>DWE1.T7)*A)?%K(S"D2*42/ZY
M&7"(?%B68; UY"HED,<:RV4L6],)['2%A$W$:"O_0;O_9'1@4=ZJCIR+; E1
MDB!=_%<B.8K7_%'D7-='(Q)4I?UJ>0*$#V"3(B8+)=][=/7!^@<CCLST@)4C
MYPAHA_;P,?G/% SRZK%#AQ^,+!,Y-(NT,B%3F$ L.^U594P)SB(8-)P.NK_0
M<9ZB3FKE',.+*"E-8Z7,E2[%S?2[3$,R&8=@N5!#M(;,4RE'^55#9$Q72:EB
M3@+WL!HM%_F1EHM*O;.A0WAVNA#/0&G@7&;%RB1HZYGF;B;X/X-]@<*)OU3D
M/%)/58EAY!^)@8/1U&."CWH(^6ZU5.$B.9UH@WB YLZ&"NI*:$NKH"C.J?8,
M11YPRDM8/_'Y)*,2'RT$*%N+5&/#R*J;"172B"?4:5JP>\$503L1SS))MPO.
M<M?YG%<HBR@4J] )4[<N<G+ "0Z88+X'U3L41 =*ZM/;FM&T$@\=#C$S1@-
ML61,TR )%A8U/$(%"(T DH5"PI.?2+@I1662$%=*^ QO8U$JP+&, <I$7)VT
M3CQ7<67*Y)))W;/<U<[6H)03)=(050&XR$5)P[+U/[1/*.8D4$U%KJTR 8%$
ML@2EEG$D=(_5JP$: $?)@QHJ,#IRAL"@A*=.%UGHJ*7*#:2Z1P[*!R&+Y:XL
ME1XP+WP<IM0J8%!*9 Y )LID, V")4EA<^D]Y%,>"K5+I9=).A'0T?G.^2WG
MOSPAL'[P]Y<VFY2I<BI5E88.OC3DO-!2C8TS,:]/O!KEBPRTITQ(6&]V\N+\
MM5,95VV8H*H1$Y9G284;WDK/D['X9417QU-**Y:".BLE@0)I%4PDM9H K(J*
M4]R#(SU7-TL"O<X42R;^*]FPB0B+N)&.S""YV$'VAC13DO3&&$<+8_T-Y_1D
M8&51-&JJ^S+K<39(LVCER%2POB>Y !%!M3((7@IRVG8GM]-1HU&.15ND*3('
MW85<I 0/.:NT:CH$[E6+Q)](JI:2,#5UM;0R,KSU4L0NQVI0XLSW$S:A!9+\
MLD)G(JHI%%2\ IU0J57@D_ :3)9E5EC@,3%?'2FJ@0MX[A0XNN%7MY482.M.
MJV#:'24> &@SGUAAE0+C"RG^#QH;BA"R/D D W>NJ? H?M%I[KQ*=OFNC#R+
M+)U2%>' ,7*1HGT%(A*U*ZKAF68*.3<KO?5IV,\1GJ/DUR;1[T9'Z(X&YRI$
M]]:1K$>?1"TRJM+.5JJC0+4-T4AE!(D$G(F6(%K"XY&%=!%>C8GME<HUH9Q:
MB<9"+<J+KY@PBS^(!V@TE&6RU55>YQ+X5/%NRF@0>F4RUHD?8U LF*8+$Y$U
MR*A="(:7B'IZP)8DGA(3F(#V/T*+V\Y%6EQZ),M,*?(HS(*2@ZZ-VII= 47U
M._J7<1YB@9U@#LAJZ#X9%Z>GJ"RC9:E$>&IV:M-M*4U63;^=VD1\D+*I+!U4
M;])D):K#1H=C4E;2A6BQV(6@,_!JLK+)FNK="D\'C.E<O 7)7B28J/YM/XN+
M/!%"+P&)8PR/\J8$ME-K33#[B!IC,EZU/$/WFT >BW&!0JX,2;1T!)<?\>AK
M2OLF*<5 _:2/!+IR!AMT%I\ZZE1IT1K9-&Z1!*NC$K\A7JB2-Y)B>2J9<U!#
M7Q(*^M%6_8SBWD:55K;-;;R[QK-WK92[<YM^,WZ5WC1USJ#^S5=,X $9Y$RI
M6"T!6"!"/0O0*O]!6T726KV"3W,;!C0'4"GAU+DP;"S^4U.?@,%@,492CB7I
MBV_!<KMI5GD3*QH$)RURR=A4YM4%".<FYBA?Y/H[ N*T*A3UB>_I^,%$PLP6
M\31YJ6KOD/V>@S%YH_*IJ=!!W&H?U6_ 70=R$5-RB&9.<LJP^$^#01&7P 4
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
MFC0+%( 7E#R=8:%*=L&+NHL36V\J!XIH[(RM-1<_MF%W+;9:%:O!,;?L03W
MKF8W(U9T^I[VA IA'/,HE1^Q"$;D"*K90+.+-!/+'S D\6#8,! I]00&DXD&
MV_':?R&(>>Y?='PNK\C_5YD$?^U?+9<Y6.DA\(??L#3"]&;#"?8]F*0@]A[Y
M,# %-A1OIK2%!+B;K+W'"8TS;5$]=[>K.Z.*0;!'/"PHMN'W56Q#1 "%5OIG
MO[O;7GI+3QR8K:;'7*:>6TF>]JJ6O+7VTKD74.N#J5T!K8M4;!JU>@BEC-KD
MJDGA<J8-.I;C2S$V5RQ'! 9;2G?"J@L^3J*F'JIDM[DT:0XFN2G+KTS7<(K4
M*VB\1_W+V%N969Z4;KKCMFQOKT?5JO&X-HL:)G*0/4YF /;[7R[FRXG\>SS9
M6L];43DB'J_P(U:S#/&0_VS?8'YIJQ"I%<H)94-F*? 9-?BS[MFL*9R+I:G*
M1WK\\*CNW2V8WXJ]*AMWIAZH8D.)IPM[KP'9P)X0H5+35A]0K6$)3;N!OVR+
MKF%5DXUUF;0@K<=*;E&]"?6#<.]6+8]>KF6S8+HE+I.HA.(8F6BYI>?0DCDQ
M,S06!]R1LLHL(I?#,REG#B-)NG$]D>P%5=04%GN2BF3#2C^N%_V8AM>4<*4\
M#@NR.)#P[+:;<HD 68PFB?P%X;V7H7*S:C4#GCJAR!83H@JL*C'A0R>8Y:E=
M_V1R8FOYLE86K<S!-:U;&@J8)B@DH:YZ=18T'5&7#^ED;+F/F6FVV-/&M#JL
MQ]$(*RHQ#CQ6/3UO&E;&QZ(42CMC5Z7_"V1'Q!XE$YEOHK.D1-0(DXI%2SYK
M25AEJ#,'2TS5F^I>B5;&H ZT-'2'<M5\0W= IA0"L)I4[J?NAZT*+LDG%#'J
M@XX+FF;)?Z:<+*'9^0>;Q#2MF4-W=DPR0KA&?P<%5D;B:_YH9Z/(@CUX]7$6
M[=JU19AH\7]Y-IF*G/X!H"N6,-"X6RPA^EN>&OP<2(;1P/%V("D_\"Q+2GB\
M-4ZZX1Q&><I">A.\[_R#(YJ!4A^NAG/PZ<#Y .8Q;*5!M2VR=]N!H"EZ5 ,L
MSHND7ODBK.CSG)6+F(_RVTDF+YBZE44]PQ!4]I;D=I+S$[N;3&$K)6^*03&J
M49]=FB@)+$ZP:!()YK:6FR)D&8W@D9E(,]?D+-((J.O\?,5%+4"N YE6T%H2
M?DWJ9#3Y4U2!J9(@F8P?FY[SZ+6U8Z"Z&2$)0?6PRE2%"O+1(!!]L_1 9*L?
MJ"I6N:T=Z!Q^*]?%+E62V:%6%>L6O2/EAAOX-7XV*44+.)*"CJ[TH;K(B84"
M^G$U\%F55++GFD[P,\E,>6&+<0U8G:LM4P/BI"0]%Y55[#0@?;>UK&P9?E:G
M?; D*V 90S!K)R]UA%,&8I4&N0A;"BGN0/'AU\ #2ER%J"90:1*^V_)T-R8[
M7=Q$[J6^6XY$=(%*^61'1 UM_48Q ;B0,Z#1V3U1[0X7+A#5;-497P;5A2R2
M&=?(L>:1OZ%59O,D*:9%%VZKM)F2D*,\YB+G1<+-\EO$.1<I-&!6Z[(!4[-N
M8%G8,PSD !CIM118(= 7AS%+-+*2VM(R;]P"!Z1DL?0K'MX^:+S@0ZJ=DEX
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
M3VNEN'(>E^^Z?=%HT@MVG5_YS++P+9_995*J%3$,V5YB5EJD4$!5Z(J$<0T
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
M&JQ/HR1((>]0)2= 2L]B\)O"M+GA=< O2CZRIHTV:G4L8\1%$Q"(<(5%KX;
M(")W7-3_0IL\@F')+"=NZICEH2/'+!*7@0,E::+,GJ,<79D$:(FPB!^@,-B-
M6W9SCUS*+CXBB;ND">)I%<],MWB,Y97U>0K!O 4+<=,5$%4!8198Y"GAUKJB
MH[)-3J [I^XHIV<D-FV*>B!1/8)D/G[(FC8JNPHWR"DUU'3CWHGWNL,T;G/B
M;<SO;)E\$]CUO1(PNGCXN';:,95.07):X@G1_I_;&MY]EU_$3;T,@@3 F\KR
M_%6XS"D*YW[,;7TSB]-P&_L#_R=J-&X/(GW ROT>-#<K<>F+SM%P!.*HZ?,0
M,K*O_!I8FUY=8REFU+L$6^:2%@'-XSJG'#N^\I3SU2M%ZDE;(KWECNPW2+]#
M1-_O IA1_9,J9*/)O9.2CVJT&=ERZ1?H+(><NS)Y4'XST1UH G*.14'*S*JN
MN"C%I<XK)YT&$3C&+%WF0!N.:87 JAB;#&!.P=5]KIWJNOMMBFQ$EO0YYI/)
M_RW]E+E1'7>%6U'UB1[<Y,'Z*S@5H#2O9T^J3?_F$\NA+#!Z)8X*3WO\!(RZ
MNM]QI<3 1V]T+VDQ!F-_9X9&VHHN68QQ6\/!LI-&?,6-2LL8:1LNP""[21]R
M:EK@F:).*,F5>Q_.2T<HCLT6T2QX+\-O=)WHRA;3E^&)B:+452X%O*D_PYY^
M^--)"BF-W[J?"T32EG;U=(W8*#@9.)EH2M&)CSDJI^E'T\1#X+'%Z>F%_6?3
MX#Y:G^$^6[3F1&YAF&#@JK]6E(B\1GUFCE^4_OQ0%I7+[XW'9(LAC0T]<)PG
M(MNC)R;OTEN4S:KB5KT,XH:[:4>ZF!Y?,;G0#IHYK.<*D467*Z,Q3> /X/2U
M^=:!8$4A'!G4U20_(!,CL!GVKCORPXO 2$";"\V!0*VM#)<3+7!V3NJXWBL@
MM,ZKM5 /L NHY1!>A<N2VV<P>Y!!^#^?2FO,IS_^\).TQ/Q,L*)XA['T[+"U
M/-T[K_+\%4<S'"!2,\4ZDL#9SWW =$?W-4ES$;#:24\*7MPA/8*NYJ+*+^BV
M8[4?=?ZH52SOH*"%4/1.:0NI+A,MXOG]P.7&0^IX"B*/@5[K">CB)C.,(8U6
M=*7K.UY206:[&A33(PRV\(9BL^FO<CS"2"=#@ NCT77,T?&T918.3.612TM$
M%LZQE#G=9C.XZ1HEKJQD("!LI5I8/Z..Q_@*:)4]B--^V,?*8@%E4;KM/,WI
M<<\;6X&H>*X/TA/-69[<7-A(O7IP$30#1@5=O24F40B3+9%,8Y^C^]M[=S\F
MX]#IT[(., _5Q5:\P(2U,MYAO.Q4AX,)NY&QP\5Z04JEXF&;4PF./4-$T06Q
MF(F#=@@%+S/DP$7P>Q"+#ET)F\"PJ.)&&_5:S";J#J<SR#(07USEMF[JLY%*
M-R2<KI/;SAC#NFW>*$8XW9/2%'=7]I=$05KN"9"$1@36A\5/Y/RE^#ZD:UGG
MG95-N5HT4.MDN+J:,$I'@ZO3.1UA1;BMNX-CE3(WE/:O9 F,9:YIP97':EFA
M?E1Q+AO=!@F*%P+!T+)U<V(GY;*GM*^?_)7K\!#<PT7W' F>[I'77"YV3/@>
M7:A1M2#'8AD](#7HHX?R#I&#)GH+U!PIB&AV-EPD__C)&?E2)BP"L02'!FZ6
M,F:/,)NT+@^448NL@X66HKN-EAP']R*_MHJY(J"M1]X^V=%NWIL4=<M*1["P
MYU(3-LIY7(6Y2+L!^%+\B(E@HOSP>PC./$,;4 =4.)@#?@'N83@2C#5/!I@
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
MV#*G1A<-0RI95;N$\G\=LZ=$LV:8+.LYE4'H35UC\S?Z;31^XJ:LS2VD32
M/.)^ ISH3MNH>NBN!\+#Y#]]_-G84JCR*ZS5?O(9^7(.B:B]5U<^YBQX_5*[
M\]G0OD:!^?3SS\@B0B=6$T%IH<*LC8"^GE^/;P*HN]J:_SUYDD4X!?@WJV>#
M_.H_FXMN]71-CNV31X^_7'U*49E'7[]^]I]/Z3\??_W9*F!,O&9OB3AEQ%ML
M#EJG45#"]VC_YY3*A ,>M.,=3N.07Z/'B3;8'DT0JC4/>RZ-WV MTC4\M6-N
M ! =6PND+OOQV>J5A/@??_E':IJG#U?IHH;<#JCOF-U<IV&J@T;D9S?;87?$
M)$)I=&U4$T5D$Q"15F5\% 1\XO'A*C"J'<#,)!&Y 0-O=7\F*[B"R8%XT+1D
M/Z84)B]<Q?[IS> .EP%*H-7?"<A7BP#6<'+!.9#J"NXLCOFE*=J8TE!B(+LJ
MB;0S)TM)(@HN1",PC3%G#K::Q(*9;O9AW&&]A ,$ [T^*1GBI:V:G&.FA@2-
MB_TIJB?18/_0[[W2[SW5[YEBBYN#/WQ5ACI?/>,M^FZR19ZW):EGA(?4UIW!
MQ1B/GNA;]RC9 X]:G3OFTB<T#D-E*4-]BH)'P/5^AXHFZ0QJ4=65NVR<8C-6
M,*3A@+%0->K23725_'G)NGPX]N'0;HFRL^Z:JBSHAD5G(\IG&91VFVJ:4)P7
M5-@B[P]4WHF'I[4HJZ_A(UI-;/L3^>*,#6R1]476'YRL<[-#<)8:M5<\Q<4B
M^HOH?[2BC]# C.5]@^0W;0#KNQ[9,6NL@L%&5]4BY(N0/SPA)Z(4]-VYA4-+
MA8Y=S_&TLJ90F;L#$NV/(=,,'6AP4BE4NIR Y00\N!- _*0HYMLA!^GN0TC8
M23,F,%U595@*,Q8)?X@2W@:D/E]A]H5J#4&;!RRXO=J5(&$73=LV5]R- 3FO
MP*3O\YJ2;$-=! 8^C@+DRSE8SL'#.P<"*N.L(E/*='T[4"TMIGD7H5Z$^L$)
M-?BB'?8OP+8'2+^?K9R8(\FX#\10:1Q1+E#A.((=$N \)?L5=SA'BS?7/^E#
MG)?WG<%\:NQ4R+R/-Q[E*2TU&8$10ON(_/G7#!J!E2KK<C_ #?N6NE?EETAZ
M>:%Y2L[_*3[3'B1?MNLW_1FF2&+2LH(]ZU?_^N6?'F$+@:&C@A;)$=X\4.ML
M[^]U=^73>_3Y3[(G?WJ4P7DG3OT6#-_R@* =8FUD# ?"^V 6DI",R4UD$;B
M34E90]*Q$?4SHCXHDGA5=M@WG)JGH+SML6-#H9W?.*=J"R"(WDV.\-YHEHSF
MSIT-\.=]6VZQ3P+R\522DC4Z3S=.@ASS\ZB. R%.7+%2!7Y+0Z IIO>5=C0Q
MYB/);D$1^ ??.,;P-K1KG#Z'5%O$*=!6T.-"!)&PV=6<7K\5+ZIQJO.9^K+S
ML+7<2?P%:"(]%_"M"VJO!(L<8+A4:20\G01'#^4E79K,TRUL3""4C8"?L +'
M%HZ@&832N?.CM"D#RAJQW7!./ATM0^KAFT1<XQ+U]UF06*50:@>MZZ3)V(4O
MYN >*03%$?I4_8D. RE*;>:QX*FDHXW'%-FJ>)B.?W56'1#$)6!O2I)',?MU
M0KF#R*#ZPC;D5%8UWE$&*WKXX*$-V,DB?=6_-8+OBB<*46;3 3BN;NS"H;@W
MV?GUZ37S>YG"2?QUH>5PK#>/Z@GN]N?4]T04I83%(R:I&@X;>ETW@DV1?C:9
MTZ0*H8S5&_BOF;I(H[['&.#;'*FZ,]\%=$P-=?L1FY3O*:*%Y5X%FAX=&\Q)
M+1NJ\%'YF]!,YHR4E(?-%X'*9&P=C-/>4+)5<W6V;RX9GJDCIIMV9EYT&-J
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
M1"=JBYGT_O6O97O-XR 0,(']8\=%]JZO,EW7QR=E@VQ&HQO7RU.8/4@CV*:
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
M9A47G[;:<MQE9J55HI0C3XB<4<"0_);Y*NE)1$AHV]'!\N+Q=[T?:'RE=GN
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
M 58P+0"#3@VWAD>YTOB#IA;7J!3Z*]"-R?39'62$4?I22MNX4,KH;<Y^2!)
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
M<7P?X6:Q2^A)0+WZP(<LFG)<6(0*EOC9@Q#8+=%@M"/FIA%'9>>]P5"@(U@
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
M2+?]AA^M "NC&UL$,4$+3%M<CC.&[.*<8'Y<7B:.^R<6D55K+W(>+'3,(D\
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
M_3J$7V'CY 66XX+Z&Q#8+.U!;A T%MYJUE7BS8T3]9V Q=6O/WPVM3#B";\
M_1NO+VQ8Q'T-Q7V-<BBE+?/5I1< _WA@!0^"K\HJY(7<)WF/.(\B0>WWKTW[
MK:SN,#:TB&4G:12G#L^/MKO6/VLWF/<LN=9NMNMX%.P,P@GZB?K3\IE>O;.H
MS%=).;T</,Q^]$XY%_=.#TQ_KI #<.X[#RA7UG7H>^X452?JQHM[X0\Z&J^*
M- 6,:!H%.4]MO,9Q]>7FM:F_JP"!5ZU_??SV&5@+. 1M[J<0=A%4L!2YR9-?
M#^37@Q!Z"<+$<B83YD22[:XP1.J(RD=.XO#M:Y^Y3AI#,TG,NTF<.]"%$;/P
M"N5@(#:SO(TYY:>/3_;_V@Z<D35OSG\[',VF+^JM\R,,PO$4+&["@AAMX8T[
M8F-'<:'QYQ;PQ/G9Y]>LK@HXY]SQW=3GKMQG+_B.)=3+P4>[X9!/%Y>O1FM\
M8D,O\$JX]&65)620SV<?C0K)L=%GI\_\DG'0;GCC^MO%JU$>UQ'#&'H9+4=9
MY<BNMUZ;ZC@/8;06)B,LV.L<XX&^DXC4?YWG,'KD0H,.?#/ #5.6(K2!!)TE
M^3FKY0&(W(M/-]>7G[TXN<67-I(=L/D4 )NR,PK9[(43*<CX$,4(5Y0!)TW"
M!4.;H\M2;M_$1'YW F!TVN\CXR*S6V$$G\<34)I.$D93:^([ 7[I1)$3\(?7
MRLN&63?+K'\_#%:]'8'UM@3& X\M\2P)S,W&X))ARE(RI99^? ALB$=)8-\M
M3.8!/U)D"WFQY$Q,%QK@21//%:*YU]__?W__^]__?_ILOS^Q1LX]ADP9J-6Q
ME\R>%ETE;&P==\!E..Z?'-OU$^SB&[N3,8^;ZG\:5B\SJ[</A-6+-&X:!5X\
MVI36?<2M-5YO 2,?S:4,/V&#MF%71.9C]T-_@&YS?T_=YIEYB&U=O&7>?\FV
M=U%6NSR&Q@-E*>@1^S/U(FZ_R!B!+9JW0;RB(S^*_N&.<&M :0NH)KS ]=,!
MWP,G6=,6);M;3A^VV.)UY[AYHDPH=6:W:T;L#TOLW<,0^RS-XD8F6= QYB#U
M61ETP9I2X1DCF?T2(IZXRFD/XM#WQ'79>3K$,R(/PJRRW)\HSIO5@\]9=ZZ6
M.C\[EC?XY0C_LCL@?G^I5L\"=Q1&U2K5KJUIB?TWZ7CL1-."J6\T=ODE#-C3
MR6VN\JWY*E_+7.4S5_E>>)4/M,OUMZ\8X<JX_1OLQY(W\/E-L_WFS1O0.X\H
M%B$%FU"*0AO>7/WZY>SVG]\N;@HT8O;C6G3\>NS;M19J0=,FO%UNQ< 3S1)Z
M,>AMMX\')RH=G:/ 8(9FSN6%G^U>LU41[=V!?QEA#R,GM@9XHYR2XP;<+D;\
M'ACTWF=6#!.#'Z [<+P58_39R/&'Z'YC@^0H\P<K'(DB#>!M:AC<)2 W3&^P
M7BO[.B^2MNH+C[+_]E>[4U\]KM-9V!(.&K7#+T>-+5\AN_UV]N7F[/S6NKTX
M_^W+U\]??[VZN+&NOIQ__7;]]=O9[<6GC9^ KX_ [;4U]-26RD^!K7+5Q^F[
MEV0(+"2_U 32J11"CIZ+15N1U2>Z'BMX].%M_-;Z1S@*K-]KUB?/]\/@( 1F
MJ^SRQ1FSS3#,EMFAT"DRW/%"$^4E_@&SQX);9X<2.?KD)/!'KJ9 :X\<_Q4]
M_,R%1_>>3G&%%]]G?O@@O?8A^*WA T)"3L![IX/B0#KVHK-LIZ"6%3/(1,S<
M==#SIJ'@MR'_=D!5_M01\T9"Y8?FUG=KW>ZZ%&6C7:LO3N(LG<MR ZTY21JQ
ME^C49NW)3O(2DU6S&_M#/S)(+Z&=73L]71?M[&;-7L3():0=FH.7D.ZTUEJ<
M6KZ)O=FV],23&]N6 #Z=([?$W4]N[&!Y9XUROAZOZEF;XA)P^E:)M QNXA/X
MH&X2KK(+*($<;MF&%&XFGD6B@]4(6V7E]40]7IOX'U]'7N!Z$\>?UP&KH/:5
M0.Z-_36^F^&=Y_,.]]?*Z;[=).R>!=89:'#V.Q;G#$*CQ.?#AQ&+O0$5BUF
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
MKW@JBM8V26N]!ZT3!0DZ$7YIN"/:4>4%>FD8ZB7NQ:?SE<-V+VZ)QBP_/M=
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
MME9P%#=;K8.JCE$MB6"WW:%3HNW; HT6Y,&793_(9=^2C=CH*/_)X.*B.[[
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
M+LI:E/6PE=4ZJ1&,Y#PZD-HZKT F&Q:\LH93^UQE?7[$M>AKT=>BK_,<41[
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
M%%13&2,E8EG#N#56-3 =H'!(4+I".E/]UY_2%9O$;G+QOKPAGS9"'&8!F-<
MF$[4*K^VAERBCXB5];G5LNU_23.57GJ<?FD\J$X&_3JI+V_-U>MNW_9]U_:J
M^78^^N'KD7[K)7S/CI)H_?KA_>OW]A/^FFRPWX_3?^;+ZWMHA_4:GL^SIL:#
MR^E 9U=FZS@=_9_NZN*RV?WZZ>^N,J.H'__+K;2I;\]?IZJO=*H1#KOQUFS6
M-2'JG__ #$M9>)+:]&9?RK>?7WOQR^LC=3L5:_%%EDW5?)HNTY4CER\=V9A>
M[J?*]OZP7T:+R6L_GP]G7Y],6RWW%:GS]::Z0<@-7DZO)?DYGPZ^3NW[6KB6
MJ,WLH\7%>_'CLI>:CF?Q\7>6Y3>T:3B++U(+U9T%^GJ*IZ,9?G+?D4Z5_WS_
MD"IT)BOYK86<KED. W7]]-IG.^S:_L*C:VFK^S%DF,S7^YBUV5;GPPRM?W[S
M[N6K_WSQRYM^P.N??[2_S);]5LF/K^9K47?N 8-OSN/K0=+A-(\WOWSSKS_=
MOL]C :.ZB\)?R\*+E1#OV=!U6]M<VAPG\Y[WQ1,[.G_=&_PQ2E?^[>CHN._/
M!\.CHU_R IQ].'[W\?CDK#I[=?+;N].WIW][\^IC]>;=R>F']Z<?CL]>O=PF
M "]]BY/3=Q]/W[YYF0=3?3Q+?_W]U;NSC]7IZ^KD^.-OU>NWI__\N/-1?M?M
M5^/SP=7(]L/H^U6&4\O+O5M=O5NF(??R7NO35E0GSN6?IYOXY.>)J/LXKK__
M8H."?$O';NWMLSU_/1G+RZL8/=+V6* HVWV>?/!Y#Y\8N,NV-TMZ_BOM5J/J
M5<+D<"N'^ND<=<GTK\Y75T^LWW8R_5)1^;'9 LE:*)"3W/PV"E^1@+5) &NG
M!&P.?E9<A*V>O<G4LHJ96U9Q.+BH!I<XM.-L.&?7Q^?NN(NCG]:ZD/=.SL;4
M8QV:_@AOS7:QY@#G;8,$8<J1U9ZT6KRIR5E]UQN,1NL-9#RPW&NIA[Q=$5QM
M2*T.2#R"Q3RY.G.SH@WWG9)F0:!C:!AG'I@$QX..EA KI'!2/UPII36GI#>O
M%!O;]0J@%$#9_@P]D%=R'Z)P:KEFT7HM&7#J72!<$&Z]U#$HMJ35%)LC"GL4
MHJR6%"(ZALL]A98M2\03F--V:&IKN.A"E_L<CAUBT@7?[6'=YOL62<T?YXL^
MVZ:7P\'G;G9LNB_5=U>C](]N__L5S=0FD-M=;3B;=&]]$\=WML,VBH*496_>
MLN^_WX"I]6!U783DR-D,MSF7!ONCNC%-A=?YW]A(I&T;Z]^1HC:)9S^0)IBE
M\-<LA"<+,KA8Y\QZ0C451@0$0J+51!LM"?I(C9#;JG.6GKBG)+O8[T63MZ+)
MH"R/S$DI(X%HJ T!!"/..K">.KX^R_G;)WP[=-,E#1JERWMBHJZ+]KS$RV26
M=B=4Q_9#92\&Z>W^55]H).<Y0#.C4<"V*#''_7"\("^+Q?LLD4)[%3 * "5,
M<)&X*,'01&#XPSU@UX5NH#=\3*S8\D7)=J1DC!FC+>-2H0"13P\E#?,FH)!$
MV&5*MB$*P3G;-R4KGI/5*43$X;#V4M<>[;&]KASV,7;'C200Q=3:,U-K)H"3
M .69O7XU<=G].A'"1>^)XII$#%(P!4"\0>FE4Q!)(,[0A_M%K LP"2O^DZ+4
MAZW4#V0</$*KI67$4A8I9T"!&.V(5T080 W<XK9S$%B'PH8+@9<<A'MGK3AX
M;LU@SM>I!OF<'U:A.[H<C&RO&L2J;CY4V=$(QZ-&TK1B@NZ65?W-=OM9>$[[
M'Q/\G<;WPYR!<JMN!0@/@2O#J9!@4&C-,[L2405N4"T!WG70J:VWS2H>GJ)>
MNU O3#I$%&/):G'@E3-@HC+:!B*)5'J-[IT5><V^J5GQ\:PJRZ\'0TR/K?Q5
MHN1]_Z6J"V9,!3MG,&(S240Q"_?-+)Q*XLE4$,]NY'"&J/_H#S&]Z+]N-9/R
M5%L1/>6$ 1C/<F^I9#)*98@*EJLM>7[XOKI]FF\7%K0I:/-8DO9$L)&<&,.
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
MNAL2QA3!!4C+VE__GG.Z&P!)B*1 BJ(<9F=EB03Z<KK/_<9%SM(P3;/,]T#
MW&-PWOJZL4]$K-P/T3B)H=]48DA;5K);;+(O,.7IR)_'RS".F"L<&^F_(US[
MM;V9_6DBGI=Y/$BDIQ3S(\[3)$N"(&$!2)=9<O#.,$_% /E-Q6J?R,Z)[.RY
MLNT&JB-4GB0LY3R)&,BC6:1< 0*F"!-R !_,Z>M&3Z0E^HZ5;0\DX9VR,8Y@
M2:=0^=,5.UVQ;RZ6YF'4Y]W%@U=YK@3Y8-17<<4GE\JI^$PY^O<:8VA(;\:6
M7O2+^I]Y 6! *]5)5#V)J@?4D/55?9>_,A?U ]S3=Q,47_'_7[7W\H.J9U4A
M9DKB%Q<3N?A!Y\FNTSY(/2]2?A)$&0MBGH9IY(G,SZ,P5KYDAU:E/?:4>^><
M=.D3@3H1J+T2J#B+PISG810D'DN2+$TE\Z7+8Y[YF61[[.FU'8%ZTKV]GBI]
M.ED"GH;^<5+33I: TQ4[!C =G27@J32:L.U(G>^D:4CZ/594?%K6@%,X_>/Z
MEW82?M^KJBCE:EM<,9ZC1-<5L[7HO= !E\DDDI)Y?LCBG',12U<F+ *U/LFC
M!PJP7!&2V2B(PZ<A)Q\5*S[A[2/KLH^&N&Z6^7X*F!KPF.4Y3^,T 8W7C\.<
MY1D_N)KK>:/0>R+%3T]:[9-*I-EG1[ ^B6SD9 IFFV!<8YD[4\+*HQ333B'R
MIQ#Y PB47?DPR -?1&[,LI3%*L^23(D\9ZG+A!\G?3%,^Y,*XU'*HJ?!4DZ9
M-R>R<B(K6Y,5%85QP%+FB80SF?/,<Y,T"(-(,N4KMR<@V]MCPG<Z8N%3CL!^
M0E:\E0VP0Z3#/+S$J.#3)R8KLB/TG\MRGHW5D$NQ^^G^[:&/;:_<XC$A=1B>
M(/,LCA*>*NXRQEF:P6JS,/=]E>9Y'O18-/9H@/3\4> _$?-%'V(?N4!YHCTG
MVG/,M(>+))6^SX'^2!:Y*DW3F*?<SZ(HCOQ4GM3<O9"> \F<I["<(UC2*6;B
M=,5.5^P4EO-(NOO'^70Z5E@EAH^U_HX-5IQBHEDQ<-A31Y4C\>@??6N-T['_
M*8_]"*35!Z:U^RI1^09THPK4+*HG?I1D]6EQ_9,]XHGU@+ (\![N_UO5C=.*
MTSB.HSAB;N(Q/Q<\BE3&91PDG$ON[K%#]?HB(%'R-"P,)VWK1%!.!&4-0>%)
MFJ=!%F>"N<R+,J[R.))")DD>N8G88^#G!H?)$REO>=*M'T+>$^6UZO20.4J9
M[T^H4QT9#<-;\@DO"9*Q#@T3+/8B3PE7Q I^99Q'>>8FOO2"5 IVJ#XP<$A/
M@X8=E>1S0JMC1:N<AU[(?$]EKF0Y%TG&N>N'4@6^E"SKB:I[F,+73Z3:X+&Q
M_V_!$O2VG)R1M5WP:8&F=_5UJB:RF,U!FOTYJWY86?8Q2@Y/3;D[1E?:4=',
ME_HVONI<1B"C\ZI2\L5\]K:<_;>:+1%3SP_#-/;2-(X"QK,D#847J3 64>+!
M1X>24?S@:1#3D]WFA-I/!;4C%L4\\D!6RCB#'TGFBRS)W3R241+ZAVH\]U0J
M0SV$!87^^0M\PK.QTA^N%6#@%C3"@X'(VI>$0@/:7@()E'*X )$;0'F+*:*3
M<@8OS4KG93FA'![L?^B84N @\7R<P0?4GN9\>:5;;$*,%:_H&*X:$6U63LUR
M["<V_DZOT1%C7L/=>_'A_>OW_%*]J!3_? $_&E3= *:5$=[.KS-5Z2%^QDMD
M7UX/OY%#GXR<6E5%O@!-DB_I[QN%Q :O"^#&V#Z$PS>?/7O^^BSY^0><^'D7
M4(L;F<)"SS+<ZQG/81L_.GQ\PV_K.P#2H5L_7U5V$ U0BF1T7(IF-!??==N
M6/,9W)\KLWC*PUF^7#V(8K_J'NNS']9LJCO]RC[^H3@LI[L1NE0K![0,8K.:
MZC+[SATY^+_O-Z'"2)_DNH,T9X;4MQ#FLR^\*OBD,S7=MEG%)S720OQ\HA";
MN7-5(?W\MS=O?WGU7VA2E.KKSS_PY_;8%W2%)7AU<><./%H+Q]<EX## L7VY
M_>TOB^/<EV XJR1V^2X\6T_O]D6Z%K$M*\=2PQW9X%ND8?#77\_.+B;BJJS.
MSIXC\#]]N'C[\>+E)^?3JY?_>/ONUW=_?_/JH_/F[<MW']Z_^W#QZ=4OAR2^
MO3MX^^X3+.G3.^?EN[<?W_WZYA=<E?/ZS=N+MR_?7/SJ?/P$'_SVZNVGC]M2
M7\V#@>3!71?+C1\X2A3O\G=355'4F(D:_P3;_6>4Q&$6^Y'B($J$GDAR&05N
MZC&6,N:Y/5'C*RJ" EEABN"KYL9S4TSF2E[,S!1Q$K LC*2KI&)8E4?"_T5I
MGJ<A?)0+#R[37<?PKWD]*_+;!SH'[]SY!59?%5,2RK [Z;PN)JJV%:ZL<&,
M^[P!MMDE@;,%YN:=#@"/;\"S>O2TNNY*=EV?/V1]P2&.[]GS3TA_+\3,^:3$
MU02&NRS@'30D5M.R(OGENUEYJ697J@(&.+L"HEX[]3RK"UD 14>6CHTP??<G
M.]2(_O: WETI^]U++20U7YF/;]3R)_.Z^:2L[(?EO#(??C]"P5)<.5>\II5<
M =_[GSFO@*K !Q/#!O[!KZ6:C% .FRB0G\5\1MF:^,:T AF[NG5*C;<@MN5<
M%.-B=HO%V=[,KKC@(X+:?Y?5YY%Y3N'HSH96,"0:-11A<OE175XOI9/DF>21
MB.,@C@1C7"2,N9&*W#@6L>?YR3UM!ZRK8+QY^[K1,-P%#>.L5@*UC!L06FHU
M>?8<6.V*AM&!2*T7_J-3E_GLAE?J3%;%%S4!%F9NR:V!-$(5(#K1KY7C.5%"
MG-NY J+@@-!S Y<&(/Y9S1"&IH(1/%%*% :_%$)UAAUA1&XQ*6G@2[C)V%$.
M?C4W85H6NM]Q#;NT%^4[\^7[=Q_M-7'X'*1@C:=F[G.M>SCOYE5GH; W@" 6
M,H*;GE?E-=U:+:HY\RD(;MCMKAE%Y_P"^I5 N9P*$W\K+='3-S@:C"T-<& ,
M> H'?/'N'Q=__;F>3Y]_^@W$&/AWY%P(,?\%;A:LF27^3R/GU;00(W,#8;$Q
M@\]PU%?OW[P$KO7AXE<:07^E1\$>?'(.Z)L!\LEFCW_ ,M1X[ #BV"=(+RE!
MFP=M9$P9RU/J'0V$80X(@+RL EP&37&NSKC$MGZ@+\,@]#'\@DT.9($)4QG
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
M#S=8R,/%'-PS69*Q!9]]]CP(O95$W(>^!WM&E(-SZ1-%.5&4HZ8H*N=>*%C
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
MD\L)PLLN;D%T,;MP;F 7?UOO .F^U[F'?A"EGA=%F<\REG@Q!S4]45X>1UD
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
M3J;4I(F"')F920 LKO747>YHY<#YK!@WC2PUM\+=4_*?:4R.";' Y3C%E>2
M#V5%++=U=M@P%7TV3=(M298&Z#C\QYF:.I[-K]7CM9=LZ0A6PX?:3&#MA!7D
MM#6!&7A*-M41KO[OY,G!1[N+;QNMC[JH!(2X!H&\HKA3T);Q\NA#(3?1TJF@
MZ(&S(1+@K1N#3&MB5:^YJ,J>!N:8KRR!/ILLB6M>?5;MM-P\8X_$@$Q'N6)L
M-ZW%>I@ -<4,D4F'^AB!W[S;A'VL:A&M"M!W#"O0;XB.7 !52VVH>7J#1Y:4
M50HSOW%5:&C X"ELE#KNZB8 013FVC@M&]A% E27QB%%\N*?@!SP^@H;M-Y8
M<WM5(N'18".RAQ%'2F>^KJZMG=M WLY][KPVU]F>!5DD $Z(53.0^[ +? >-
M; ?Y%EHF 1^V;P++5LEG6?40!I &?P1U"-@'1B59WV/WZ"D.N=#ZF6T=:V,(
MVI1Z&-Q  T.3=")]Z\#4_*K^:6$F35R;['^8;:+#BXRWM-F!I6%5DTLU4Y>W
MC0L%E4&,SK+<<W&6B;HT5\M>_;*C]\U %I>U=EQVWY)*D(8-:[-8PJ<D,OPO
MH8D!0!<VF)^?E>5GDYGOO":*[-Q%D1?CU^GR5(HNO8GMZARN9E9X6> BP^8/
M%O;$!@5%L+5!$9N%RP$2Z:.&/;%!01%L;5#$MAM^8!'\@FP4G<ZAY!0(1DT<
M0D/8#<%:;\Z_6^%YT]SV;KTDW++RTU3Y(6;]9&&>Y2[CW%4\=_OJ)>VA/C'9
M R;SZ\8>,"E7C,H&_=>1UB[^7F',HM 24>..661:S5#DV9EGR.>Q6SBPK"O0
M&VQX*1H#EJ3!QN>*W[62!<5)]AR=)B;TK)8&#>=8)CGPNN$"2A[2## H((.%
MA\L@8(."(5BTP1;P <6KN7I=E=<O,?X5;MH?P,E? BZ#F%*MR>WV.!:Z3<+,
M<S%9-_5%S*(T4CY3J2?[4@OO:P_( B ^2KF!"CSFY2I+@1 E2L2"!6'\C245
MF(/H:M5W91A4YM'"R@-]:NZG<@J'';G1CXX=FJ(R["F;P&][T&V0=K_6# .!
MK+D@G'>"0E"O0T'LNB![--G/]30VO%R8>4BWM#'='(V.<.CP&!(BI&>UJKY@
MMK!50<UKY\Y'8P(E4K2P!P,$^VAM0\W(X#ZY'*L[5DVB-R8VD.#:CFE?OP;9
MD3(?^E^OG>_(R8&Q*63P) K7#F.MM!SH<"4I514@A*T>1DO)J]8M?D/Q<FA/
M_;[QI#0#-MI QRRC"UD!].T]& .2VLQ!!1)^"]\[#DZ'P+?A-G5SN7 W(SP1
M# F@N)H[C[Z&WVIT9QY.0!P41</61M%LIC8#2-3C"HB#HFC8VBB:S1L> *4#
MQ<6CX:</>[K2Y$(HV8*) G%*Z^H+CD04GC**Q2EF8QV9HKX: QZIBH;8562B
MT=2M-N1MB7(U!JK2A.W,R"#1O^J)\0%2D1H4_Q86"R1FCF6N:O,X4)Z9-AE0
MBB8L0]6&EX#./-&F'DT(N:TR6B]Z9!=M'\;E"02Y?P%:+*^OR,^:+0;T+NVH
ML6K@0K5!#F%E# J=XES6#* E4&NPM65-%AXERFP,I'JI2X]+-06B2ZV5]8(F
M7!L/K$VZ;U/V@/ZS?\M%O6Z;]N#RD?W20+:A[/^:RTMMG=.61#BTC+?6<((H
M7[ 7&(L'TNP*"Q!BDI3.TBZ^J(:4SQMK8(<KP[5%\QWI!X<4M =%F["UT2:;
MR<L FL2VH$G/=B'K!RV5MK82U^L2B$/U;$TAKZ=2:<T[55H[55H[7*4U-B@F
M+%P;$[:9+@T@9@=*2WJ-Z@+<_G^5E8FSI:0$S8:LIX-XIBE,@MGE@(0H:6B_
M\!A^Q0?FU\CXC'NC4M,Q-\'_4U[-E@231G]IE1=MA *5M"Q(2+$<%/;0]0+V
M"H,==8AR(.LKDQYE1 /"_8ZR5X[M-ZC#UCIGV,A\6A/K*K+:Y&ZD.EC.!M4J
MGX]S8-5MZ10T!:"W!TL9HS!@%<FZ',]GIB2'MM:![EO2;)=PA%AYE!P*(P.*
M5^_?O'SU]M.'BU]'6K!0$X*X?5$[48RK4U .-"GX)4X"DH8H$3AUQZ&GJYO6
M6.-8?XSN3SQ?W.(UKHORT&C3!@#UN)S9$FIV@^W"M AD/6B8LUD5))SG1&:[
MNV\2.NTE@U>!NNCJ.$LG,.H6M6EU\V:(GH4LJ.O-&SI/;:8N*ZMR2X5N%^,O
MNJUGZKJ1[> @Q_!C(C3\,*Y^W46LM;&F;PUF7ZMK6;ZXQ:0&&CMN%7VZ8V,T
M[Z@I^7--488E-:3W;MM9U]]NNR<D!.6<0O&-4>/65C(:W247+V >\6;K4D6+
M]4U9?<9G3.'MCD';T!!2  P1T8.A8M-[_/72YEJW*EIGMD%@Q+"[D;99XP'E
MZG!0'%NXME+ 9JXR@!5%#RU7#P?AH&B[<&T9@<W0& #" Z4;OK_#[$GLQIK\
M3!@X$O4B7T24BEJ2&'M!IB8JQQAN3M&@-BX&T7JT\J9!S[JMCT8ESF:MI3-3
MNHX_8BR%^U1V$(O%BT\T7OMF#G2.(8,< ]&8:'UY;JBJ=3*V5FQR6-G<2A/3
MO4CKT'(-L@EP N!51-%6#;NW(^?%NW]<_!7D\W(N3>Q5RUMT4(\)ZY@I<36A
M$(=Z/L6@$EU9!>;)0<HP4&B,Y?BP*3MNY:C5BG%M?OAW;1A/CL4">SU$E.^#
M ='O\M?PT&_M4+\#=WG9-$!XE]L:?6\Z#*>;&!4QYON)S#RXSBK(>,"\*'99
M!A^Y"=^F/-N&</"SWG#P[N;-793(\5I' ;')MI5#*RAVA9#.IKYO72^+.1(-
M#O!Z,PZLET";U-GN\AN[X>*\<-THF+J9?V2"?8#W3N>V^%'=P_(61ESD=ITX
MLV6VCMD%W;NK;W-[@]%R6'?@:Q*1KTJ*+FF>:S)'&G.4"2S2N2;SK!95H6/Q
M=,Q@4Q:(?R:D+LG=W DA71#0Z(/N('T"QB+H.FNQP@"MJ(OC/6Z:[629E:D:
MD4A/LH]#6SRN _+,09$ZX=I(G<WL;P#/?-1TYG!0I$ZX-E)G\X8'0.E Z<Q_
MH(*!UGW5!#/K,)/)W;KPI.M$[A066;0%S&ZGR#0IXM)07>,1T-&Q8YQBH0W0
MDE^@H7]M>&\_CF/*M7&W-M[6_K6?+T0<X^3U&JV_[@H26L>C#D1 0HKZ"LGH
M'1O1_AP4L8P(I$4 2S,H'EY'=9LXQTD3PDCO-Q&V-44::+C:O\C#;TL_K=TM
MSDY!L*#FTAX:C]I="S]'A]<BN.]Z5&\1HR- ,+J#22]9AYI[P"7>8-7$'[<Q
M2]888,-B#T@8!H4=A6OKP&S&\2&A-H^:>QL.BGT*UQ:"V6+'0^!TH)BDU^5R
M%$R;VDE%&Q>K0BYY<G6B+P9ND,6OO+XN2)RJC?QZ:VLPF62*&E-,;2D)[8(U
M,<0&Y8WXEG=EQU(GDI29B<5IA+VB[EOB(;%N4/1(N%OTR*#P$<_?+L]P_R :
M%#H2[A0ZX@V*'?&"#1&.OQ0UO[RLE&9/[W(3#?<)S=U]@8V1$B'+_5#F?H3M
MEU,A9!)X/(_SE.?>/GI"QB'W99IZF<@RIOPHR>/(CX/ 9S(1@8K6$9']]&CO
MS0U<A)2N'$>PVCJL:__W<%"X0+A3N( W*%[ 6RNM;S[Q =?D0,'X*+WF)>KV
ME$=$@2^RO2I82KGU\J&!Q0A8((NKD;'W90I$QR^4OIAA@I54(*<#Y[HJ;SK1
M-R,3JS-"8P8E48( .Y^85,$5CV*3%2C;%"F3X4+98=K<TR3=F-P]J]-_).9'
M,]04%$!RZHQ_-57(3)4%TQK!3'DO-K5_;!CD;XYV\C=[@QS.WEH1=?/%'H -
M]VE8?("SB@8Y9**='#+>((^,MU9.W@SV 6=%P56:D@C4AZ<<"XK^WV<(,_C;
MM.+6?^M8%I'/Z/EGVT45]7"\S4QT(8AFH9&W^>7GMK]W\U5?2_(-;>F7.XW[
MU&I^IX[G]YNJKW_Y5O.Y=TXX*Z<_.28NRDYF .M0P54=[M3?3[VSB(UQ9WM@
M:/^M>.6\(EON2I[2(_6A[SNGX<WG'_ZR;G5B^Q%5FQWOGH:SG'/S'9G$2N#_
M$UE_OQ@[N)\;<!B\]+\)M/Q]0H4$/F*=ZOIIXN&W>#D.?@_>3(Q+'@.E3O?@
MX>^!G>_XKL*G<O94K\ #LF0CIT;LWWOCQ5^^?/7J]>O[,6F38H!__.C$Y_YT
M+XS[-29UK@:I'(3#6F%^ XQVQ][M;]262[KSV'8_D+\=!/1=B%#45+/U]/&V
MOKY"Q(8T^%=?3;S4!3D-E?S$OW9;-:I0I5G 0N4S%OJ*>YR)P'=Y[(O8XWUU
M(A=-QEC;&%VV[ZJ/&EMT,6- '_/WIP9Y3/-3DI+0>?EW55X"%;K"@Z"W?O\X
MI/Q$3^/'<.2%:4^EXT>AQEOASL$Y](G(G(C,H8B,3+E,XCA6+F?,3606AJ%(
MW4@&@8PCKZ_;\L,1F049?7-Q]7M0G9''3D3G1'1.1.<HB(X(?>EG*4N9=%G(
M\BP$XA,IG[. AWF^N136O8G.GLA(- K<OC8-WP0=.8QN>00*Y/MW'QT^AX41
MISFPWOA8)/0A><=: O9DJ93OYCSE;JI\WV>QZV=>+F*>><+W\X0/IE+OR_JB
MN7P7$_F"3S#_X& :6#1*W/ (:=CC"3PGE'PJ*"DB$!>"T ]3$3#/BSE($+YP
M0S_A61[F\8%1\N'T%2\^8>@)0Y\@A@8Y3UCH>4GB1LQ-HD2X>8Y=/I(HX'ZD
M'@)#]\474]]_TEAW<@X]>_YRN4+)R2WTP$LZ636L<)*H,$R#Q(N8Q_Q0I"G6
M^%9NF,9>$/)H(.G3-QIHWM_I/A],3_"34>P=HZ)P,IJ>\/Z8\#Z7GB]E&(9>
M[#/) ^Y&$8]$$DHIO8 -54KNB_</IXSX(Q8?HSYR(@0G0G!,A$#R/,H82YG(
MT9^1<YG#!T$.]$#Y(N[K5SJ8$.P'M9DW\M)C5'J>D$-C]UCVA]&$/F%QB0LQ
M<S[:^BY_!X!.#ZT/[3E79,=KM3D6]='HX0YALL=-%GT1Q)Z(F%2N8M)/4\]7
M ?-5+!GSHBT:'_63Q4^F>(J]WG2[#Z8=Q2-0](Z0<!Y%B/D)_4_HWZ!_DH$B
MQ'(O<\.$9:Z?^4$:JBA6S.4L%/R@Z/]@2E+B'V-<R(D:G*C!<5$#+W!=*:),
MN3YC>:K2@ =Y'B0)_!DE:JB.M(8:[ F_1[Y[C!&D3R.?:'F5#%?Y$'XD+]J;
M^H1)8M0'E^I9/;;:M!%BQT5$93G',@S#S_D;B=T]6N@\)(U/&5><1[$7B(SE
MN>)9G/EQ+!1G(@IC=S.-?WC]+4Q&;N0^ 8*^X9(<DS1WHE$G&O54:%20R"3C
MS&5^FC*1!6F>1Y*%+!%*!#+;0BM]#$\<&X7Q4[ ZG8C6B6B=B-;^(PT8"_,T
M\F4F/9;Y49HGF<M4FF5A$G&VV9*^)]NW/XJ"/Q<96M*3Z9^_P"=8/.ZQ2@$.
M:BP4[=18R!O46<A;6^-X<U6_ :4 ;6O"8RG;.*BA1;130PMO4$<+;VVQY:W
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
M5+45P5H[N83SK8H,7J.<X'R.#5U RGP+3,!)G3-@P: 2(,?7]TR/<TZZL3;
M&!$,Y0#ZKF.*,1R_D7:-O$H&"K1UBF(ZUO(FJ:!>TAADNI>=/O.\G\Q2NE^=
M&ZN,$6.ZQ[.P>6OK!X&ID9F-6'D)A,7:7%'H&#GZ?2..=&PUO*A(L6[\;QSM
M'%KD) ]C(]Z %-=X%QH7GCD5(_ 93RBH JKI^*AEV,/)-H/"(=*UX1";J<$
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
M"7S^7,;3Y6G667$ZMV#"",H_-Q4JMWL9CUC[K8[=W20^8EU:S=AI=;IH_]:
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
M#GC"7 SX4Y )JC&2SGLFH&L9R3 C3PG)NJ\.KOA?\W^.KB-]=($\>DR!/'9
M\<I[$#5IOSCIB692A83$?;]QX\PEWU26_&E'8^S*?>_]*N94L\6,=H)22(.Z
M1(@6 @IAK ; $6,AK;,U5RN:-G.0LPXRBV)!L81FR>Q-39M+:(E@F/  ;YH
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
M! '"),O+.A*,G;;>!MP"UB F*:O)CV\P3HCCELN -5X\^R0Z42]<CT2X!';
M"!0D"7*BF5) "T>I<-QS;'5-/>0&=0;6=F^STPM7[S\ZJ%9\A_2%<S;S3@B$
MC]ZP6HKAKO;4<89#""QFVL3*\4I# PU#WF'B *DK2]I@)YV6VWETRK3JI;F7
MYK:EF6!I.+!4(Z<)$$ ;HR22GDC'%*Q+FFFRIRM93Q5]O.+<>TJ6,QB-26<Q
M9\R%6<7$U-X]TEMP*W@6?IA?*RNOO)Y<QW_SF-8 9V4AENS3G(D^J-L\.KI:
M:< ;(+EFFEI! &,"(X0=ES[/787M^DU@VU58>K])+W5=E#J",+542>X!(-:P
M\(-'C@CKI &*UE7S?!IGNUU6'AZ#/^6UNLGCD/\WZ!;S9.JR7&;O4>EML-;1
M\]WX0SHQ+LOFU0,"8+X)0#F:W$2,K-:,LT$)H8Q(*2QQ6 AG*>8<!^2$RA/;
MJF*"!Q ]I7/J7I![06Y-D*G"!@K&L(_E"USLH<F8A-Y;P22N*_[89$E9#L03
M$N3>C;)2%/QK>,4DO8WE*%SZM0\SZ2VZ&B@KF:1ZXAT,,TXI($ %O") <JB"
MJ28M()@[MJGD3T/G./+1G7CW0O0$A0@AIJ%V7%GEB+%8*!;EBF!,"(*P1HB:
M#!LA'=[WN[RYM^GF:#5?, WJYWCV0"<EO?7SE*R?Y;Y-%<A3GC+!/)+4*N*H
M5M@I@[AER)&@(;1[G();;LC4*4NG%]I>:!L26H$<0H( 330C#!J-C"8,:^^L
MI0"C5O64MKNH=4IH>_?$$@/_0Z6I&D\7WHG>.=';53N/FS^6GJS+L<VCA +@
MS/EH_E&U;R06 BF)K7>>>(0T-I@&"/-2"$M(NXZ,FI*QG<&VWH_1RUL+\B:T
ME1@S)P"AA#DO.0;284.85!#4.0Z;/.WH\)EEEQ6&QQ#9\2GO:6(JL4CSP([>
M(=+;5MV)BKM2J7NE,F>K7W@]R:I'QDAX0BF&P!H5##(MK431.O,&:$ P:#>9
M5X+NHFCO1NE%_5&)NE06NV"4<$$QD2S\:!W7""D%,2*B)LRK07V)LS[%YLDZ
M7]Y/KUR:J#+1IJHX]6Z8WBP\%O1^O;X936[=TL?5P']CC>#,<R$UX=9(C6
M/PH \M;R=L^'".C],;W@/4W!HY)+ @EQSDABO5%(>JZ] YJS()+MEC!!-7W$
MSESPSM\QTT8LRI;^A+T7IC?-3@"6ZQTN%Q'ZU5,A@Q@&2AL!*,'*" F,HE@*
M3)#'T+2JAC#9X:S?WL'22_&Y2#%50MHP9PDE(]@[J3A'"L0.H1P 6>,F;32S
M!N$.1]AVRGN23K[-GWT_3\K\[G7=9<EK4G5P%#RUW*KQ?LMR^&SN:^S4O/'D
M!M<!LS[ ^#JTA%%<TFKG=.N]9P(H9RUA@$M &;<<6BH#$(!V]W',Z@Y*3KND
MS6_*/7=WAKN#+DJ1E1)1(X@%4%(G-+=8$DDU)HV6W]JO2L99,/>)3//:!E?K
MVVYL:(P &21!70A_4?IC-TWW8K=<;4/[L&FC]Z'Q@]D%RTW@PHC+!G#+G:U/
M-HDC+8G69M%YVV-W^%LUW\59;RA&G M..-0:8!MF3JE&7%A=U_OZ:10R.EYR
M']+/T.--CS>=QANMM4  Q+IIFB!FA3!* P.XP=AS7%-?N<E4'=;A-@\G!YQ'
M$DZ">#/ZXU_3298%OEIK7MI'D_2'VBNHE_-*M422,,PAXU@ ,:(E%,'D1=[$
M/Q9IVW+SF@$&'0Z#Z^-">A':1X0D@$1ZR1'W)$J0YH)IC,*N* R4[>;PB@%"
M'3X+Z?+^_I!NI%.I!G]7HUF1D:-&H\FWAROGWMMWO7UW3UY^?B!.+WC_<L[Z
M%="&,2L90<B]M41@*BU"#BJC-76:@9;U'MAAK:=5:^[$+/-C#W8]V/5@AY$D
M'G/G*3=$,:&]]]0:HQATC-25AFJR&A[M<$G))PYV#ZAH-ZQ"%ZE92SHTH<WH
MT'^X:7><:_6T[/:FT?7MX)R<#X$9JV&85BLGB62$:&(@5Y YIKWEUFJL04V!
M\R:#J0>TR_GJM=#>L0/.7G"?J. 2(#R76#(J -$8*,=\D%=!@%?.J78/$_F
M\@YGA34HN"?2;_;T&9XP1Z-3EF7'3<;S)UZW\H/.CGP][YV>]TZ#S*V?TS1=
M2#Z:EY5 X)_["(X'.'X^H8CU(0;]&I^#ZMHRC#956.F-NTF#E5.>>(]MHJXG
M@0;_6]166DM$K '3TSCQ'L&^?U9*4U== [_=;?4?TLE-(,?MAY$:3R_']M?_
MF0W7^AE"0HPSP!$%"&92*L<1L5A@;:%S-9%&35;4QATN\=N;2;W$/T:)IQ *
MHQ$%*G8)@4Z[O(,9 (YRSB%LM\Y"EYL!GK]Q>HICT99K6/9GH/U1R@.AYVK&
MOD1:>44\@$ 01Y'$2'#--7,!02'![9:W/+=XOOX<M!?>+@DOYIA#*IC @D!,
MM&60>NLMU18KWVBYC:<JO ^HU'3$RX192P%A%8]]AS2BKMN<?<#QN5NP%03G
M%E/DB++26D(ETUX' $>$,\F)1>WV34&BPX9J7XZC!Y0>4 X&%$<(4L(:#0TB
M3 ;C#DJ(F(6<<P3KZ@0W636==+A.\",MM[$V+W(*=UA# 1R?)U,U2L:=SA0@
M'3*TPU@2.YGID>N0)?NG4R[40;M )\EU8 !T!>:78Z$-TCC8_5X #PE%3"./
M,::$:VJ1XKKE) ;<Y=8T=3+<);6PQY0>4[J(*8(0A14$7E!+N,>*,PX"GG#(
M# X0TW)^!48=CI5H$%-6-,/\GQ_"%16XZN4/.0DBG8?C(C?YY?J5'U9Y:'U*
MAW 1RKFH',XO*R_+V>-S>/X_(5 .&"D#5P@"+=1$"2,TLT(Q8 "%Y7%1N-/9
MR^F^=Y'PZEQ&JJ%FY2)OFGKQZ0_W'"\Y:KQT(7!_S*Y=.C0K\O9I=AV4Y=OW
M?CV[/+[@U6AB_O7L;I0NV&P0&^P04T10+&.NN;)(4TRIP74U-0 $<#JYV])=
M$+&;R 7IS-5-21NA* XV(2:00"<$"&\!#&%MG(/A8>4*U''3?\^RZ=#?-J'N
M7V;)Q"=OG''7VJ4)AL' "G/(0PXCE@R2;RZY4C91R9^V0]HZ96/YR7DERE=J
MM)+*[Q%51@%.' O*$H;28$\XC*>?VEE=$Q"24_:?V]_S^?;&77X?9C5?>W_C
MTG!E_.6W298MM07Y/9]\>Q51DNG59);E49SA_PW3$<<J+P11H[D,O&H"PW*!
M,="!8AJ1346[ND['NF(+"SH.2D1*77;CPF=?W>AV$!GYZWJ5J,#@XV0R2W.;
M=C(?>S**E2:KO<6RB^3SE0N#BC?&;^38GV0Y<@21R<+;71)'\G4XO0VO-E$+
ML<EPG']0\^;XXOA1C2']<Q5+[U!KX[9R/)[2H_"4%7A:_\[=T'4$WJ'U'6?C
M?M,\E=A15.+WH5(^X8+'C!M%[<0$KON_S^(!0_B]U&V*WT>!:X+L^FG^_872
M="C<)^LJR>H.,M>N *CD'+7@+JN/&#O0Y*HH=:=]']OYOA43I:1OZ0#?$!Y7
MM]4;%[ [;6*G_R^GTN37<82LZG9_O.9>0_W]M?C]PP%.[<C=,Y:Q5;VLO!#?
M\',RG(;'FUA)Z=UXL0-FZS5RNB\VZ S%)NJ=YRDC/0<TQ@'H/#G@1,==+?87
MOO_JE0;3(-'NRW \CHI]L!."&3"<--M.>,="EU[,^S4%;4#.&TI1.'*%N^:&
M/@ (#TWL>3 *->M>8 ))R!C0W%@BC!3$*R>H8T!()N%C<B^<$@Y:Z\':,$3T
ML-7#UCG"5C!SN?8&821B54$@)9!>.RH0IEIHO@Y;\!Q@B^.6NR=U"K9.H[]V
M0$G]--/3<CFS)'4CI[+H+IXDP[&97+O<<7R33KX.L_B-3JJM#P7R;=J^VZNP
MG!- OG%V5K!7-3#50N8]DX!:08Q 0EAD.>)2(V.8K"G=N'+*V3&T/'EORZ;
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
M1\MV?G!B>:0 T]:0V/=NG+P=GT/>2NNCPQ?O\,7WIY!+/G_N$XY>2O&LGS8
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
M!DDH:T"K;;F@30FUSS4536NZ-]G"48E+@[A31C/FK-:<,QHE3FB$K3L]V3K
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
M;)L0)N-89IB)"\KGX4?Y6T"';7*WYHJUKD 5HBA$&]1@S*BA!E/D(.'3""$
M-4$#[=,H%6P#</![UZ'W"0RY'<K%BQS,G\_CCSD!7-1=>3G+\SF8]WAT.<LL
MJ*[,9EIQU3>KE6MUPOWDYM-_G:33ZO+Q#0W*;X>;R*9X$]DJP(F;L!9U%(KJ
MVI-GK\^2DU/O(%V?21.MYG2ZC%?.;+IT9D*<W8^9&7PQ5T5=?'\ZSV<?KV2_
M8AJ4&*2!TE.E4+Y;3]#(SJO)E)OS3270$'"IWGKRP\*T[A>U9%76V?^9F#S2
M<'#UNC\T0]<W@S?7C2N:$LV *Z204Z! ,J.#"MXR!LE9IL*(IF*K;1/-*"#+
M.+8&I&-(QH<P8:,/'A2S,C[UOG X^--L3J[4FGXRF'9F'\T[LV??389FXJ/Z
M\=_?DDDV7Y+FG*;U<]^!8'L$ZUC_J!W&MRXU\H,[!S\9P-NPFEUO2X[4G =B
M+05&!).:*Z(0. ?4!BPDB#WP+"@,T;]1@EG!"!4V. O,IO@T#]*MQ([9XS'N
MVTF>_7L-CZ:.YPW(H3<2(_>6";E^\7?@F)5Y@>O78H<%/&@>Y$&GNT4:Y)&R
M'I?2+8^=!OG#P>Y<MVRW]?KNG/58>S@[>@IDI9JG_65V]PP.F/*X=FT.&"QI
M3I$]8H"D"0SNR;/OWM2RWWL9?'5P.<[B7I$5Y^5^4(;Q[M+(80>Z[+AZ!Y2L
M=2,B1Y>V?YG<G6<4GZ:@=?QR;'[YS\D0,HHZ=NG891-V^1"W@:J@H>.9CF>V
MK8$Y398YG/EW+_G<],=#66T'9/Q%#M[MUEN<)!Q7JCNZ=73KZ'8TNAT^]X&3
M;3.K%Z^L<_JK,[_TQX^9OMQ+GL2O,)X"Y"[M#O.(9OW"[DM:'</?+5]^#QR\
M[Q3^A2%MM<"'2*;8PZ+MO:#@/BFT.LWB/7R&X01>YZ.+E_&KZ4._]\?G+Z/A
M-;J _-77!'D<S<GG19'RW?Q'\[4.,.*=\]P[)KEC"I3B @D4D-%48X56GR,A
MNK_B@QZ1&Z0([UF>#U:'L&<9[_1.IW<>EMX!:JE EI)  PL!6V.Y$T(:[04&
MWU2/@-A<[PB*]I0$IGL:B4[O='JGTSNMH= A]8Y%F 8)P5N%&/5>>08,4\41
MEHH%U*1WY%SOZ+WI'=G#NK-W.KW3Z9WV4.BP>H<#88*Y8!T+A!CJ.95>$J\9
MI:$)P16C R"XTAX1&W2R>3!ZYS@!LU9&Q?Z1CXHBN\Q'H;]<FGE?@;'[TLJ'
M/-A<72;>7HU6,LB[DC_JFDHA0Y#EVHA4E.,,)\$#LB)><9JX(T6$,.D1WF)-
MU2HSJ).JMDL5UQI;I%)/EV@&"&JQYIXH[%)_8VO9L>(=J*>XZJ2JDZH'(542
MB*?:L.")9BAN4-1:)*S4A&N!FUN$'\";5SV-6QQ$[(2J$ZIMMBK$J;".!\XY
MDY*I*& @E%6 ?8CB=B175?3H)CTN3DNHCN..GF+^1G_H1A>0?3>(++E<F]'E
M<1QK2(\HHA?9[DW)=;]$GEL WXRVA+,^6N">,2<5YI((B:562AJT&GAD?QXP
M[6&Z08.*!Q.JZT2X$^%]B;"B(8 5Q MNF>+&<N' :(68EL"$/9*[+1]5K+T3
MX$Z ]R7 "($Q( TFG#!$B/%,VD %85X);_R1//LN.:@3X,<NP-_M)L'"4ALX
MUD[1!-<B-'<\. 0!>RFQ5OL+(Q3E$IRMBR=LT-_\)"7YR.RP@W-^I*C'AO"F
M+8QWE.TIXM\74;K*+A7+=8[=@?V]Q&N/N"6U:L_NEKU;]F[9NV7OEKT-R_[
MCHVPVH\=]<(4?=<:2ZES<T_:S5WMY;XR^; __%2\@_Q#,M!+UJMYNX9S0(P(
MJKUB.J%_!XJH"HXXY1QMPH)8=69$Z]XNF3N[:(V/BY[2A^KE=O&J3I"/(<C
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
MM^^%KD9&U9Z-8+^E-/2=A#IYXF8!2]PD#OT@1^]S'8IARUV$CD4(/JC4X5)
MQC;O#.LT2XR:%V8=&2TZ[2HY>_I^N3N8=?@]\S?19.W\R\OUWUJ;C5Z*CZW
M)8][LG^1";T HN!"P*7)BQ.AR5%9UK0@YS"3JB*R)&^EFN*(P3^)S,E(T5(?
ML8J,@$U*W,RQP$E/2R85]C<Y<W_9]5J=;ZX*-M7*UN$ML_%_7E\&H%$*8>#Y
MD1_0-*6Y[W$W QK2U/&2_-GYLK=AOOR&&F:'[CJ=DT^EO"P ^5:_<6G5^#*7
M*+.4R.YP-!4EH>6<U&6E:D MT'<M]4,GIT@ ,%\)A$%.T=>E(G**N;Z23;];
M'4I@H#55<]-E2C\!SKLD4^,]CLJ(\J;]A!26+.*4IC\3"NDGCBI1&BJ&=(-<
M3@2;$%V;/PMQEZ"@E6GLF0I=()\T5/525!.T5\^ 67V-W!EJ*CE:C1N%:Y3-
MEU?E!:[KX.H#]S//S].$\P ")XF<D*>IPWD4.G&8/CNX^G\6N +)18D(,-A:
M>'P?L8K=\;%:>B[*'',3K03*$24K:HXR$==+[MU'@ I5S,D,06'@;6!?% O\
MMEC1-Z=>Q2E&#"[,/'TSH"ZP/X)6(K+L[-JJQZB>D+R0E[I#M((Q.A:FS(I0
M<[,Q Y7N+P%3=[K=4OX%F^NP25D>\]"%)*%9D$0T82'$?A:G@<MB!L&SPV:P
M8=@<W?#<'[Y+/#?>URWZV@+$Y!J9YP*;UJ=/"55@P81H$,:OT,L):.-C0D],
M=]-MBFG7I%[3YD*S0NH:QYF$K&31P&BF) ..MS791M1P0%0VT!A>L0DMQT ,
M 3VO"]"K.+5U;K@-KZPD-^1-JVD*4X26B/EV.F(2XE(X:4!G5+MWWFZB_,9$
M.4YDS%Z%/O8P1'OO!<[K4BT'%F0.Y5C7!0EG*74]ECDQC5,6Y %]')S]R+KR
M X#W%8&_35]M%O)/0.-<Z/26<-X/T+ZAQHS6^N%##"G- -'5SM307%DK%(#Y
M\$)HFV6Q%Y16CCGIN$[7JWA?9@ *"FK1V]+>!0+[+3LP#P6F;E1-RT)P>\2K
MZTP++J@2QA[1<'7+24HCJ=:&,-O8IRV[MBE::D#]*J0$9M",FKVK"VJ(!EII
ME5@0;QS1T/CE8@2O,C =,?GC^)>Z^8YDGZ=I'OMAX+A>$*9IE@=!Q-($W#1.
MW<?6S<\C.F0;'1T>G$UO!8F'Y^$'QPJ,+Q>"PVIX4$"U+*WGHX?5RE36)BY0
MQ3N,8M00-!.%J.:&M:_3P@0P"V>+U";8W.BZ5)E;UG/5VC>KU0PCA;9%!V-2
M<:N K=''4&+Q4&# P"<P,Y'(=*G+J@D*&+'$#)G&2UA8%Q:B, 87L$*GS UR
MWT^C.*9I$#I)P'U@\2:'!;9A86%X08O:IE(#$LAS+*?%!;JW7E,'7U<3#V *
M37-]:6RC  [$M*Z; CR3=76G!JN!X2'4AEZK#^;L(;__+(UDW:F&C7/0+ RJ
MMV^$OP!Y#9##E":IXV>I$T! _3R-(8Z<.'>#( ASYY'%_/, ,M\P()\TH+B-
M-7-.WE; ]LE:0']&5C>,7C)6*P.A);Z\1NI4Z@KOFQ?(*$OC$I%?:Z3;*'I[
M#:X7$K9,+JX59MJ58:T%#*%JS_K-:P#[QJM1\%6CWH3JZZ+#Y&@;4X!;+F,7
MIB46<U*(3U"T!_\K_?M/7JN7P'%7X/!"EGHLPMSO1 'W:.IZ/@L9S3(WH$X2
M/;M3P'"C3P&W[CW_LZ^2>1="^HM<:#+U,HP7:='@[S/*B%MU_=:M\S^*17XE
ME;[F[/8&RIY.154!W"8D:%@FL1XP3[A %>WP;80YIGIMF 7^;PX9NB %O]8"
M+; !J2Z9/?Y_]7*TMPZC3ICG?L2C.&!.P!E+,S=E01)Y*20Q=]DF)_=-.]H[
M*K!.Q=D$8M8<2IOC;28 0=8R[>LW8I= /QGJW-2MQN6; MR^!N_>>'T6=-OC
MK^8-P9K$23D.U-BX!6>;1F\CMBO8<2PB%NOJ?L/<M5F!>CJE"DVW5K4,9NT[
MPY?D>B=PX\#+H@CKZBP+'-=-*-Y)$R=,(<W#)-QDX&[:J=L1DN]<81[K(XS
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
MAB,F'2Y$DQISQK0[QET>*%L:*,.!S+1O(Q\E#,O>VQ@TQ]!-,R=R&8,P<&A
M6<C]V D#"#/JT>1%H-GO6F]^ /*>#/=;=/LY ?\8-(Z$/F_9YOWX;!M>S&BE
M'][%,-(4$%S-2#7'E95"!9@-IT+;'(M24%@]YI!CE3PWN7LQ_RO(J05OPWEO
M -ANN(%I%)BXT30M<\'MJ:RN4BVXH$J8^6#F-:3:,I+":*JT8<LV]&E+K6V"
MEAK0OA()@>DT,0<SK,JIH1DX2VO$#>O&'C6'7ZQ$\"H%(XBI'_MO4LT<IRGR
M\#"!- J#;AJEW=AW_3!.(NI[L>^\!H=O%!S29QP<'IQ+5V+$P[/P0T/%[?"
MT68JN(D 5,O".C[Z:Z5,56W" E5\#E$,&H*F(A?ES%#V=5:8^&71;(%:QYHE
MT86JW'*>JV9^DTI-,%!H6W$P)A6W!MCZ? @%5@XYQ@ML@8D)1$:D*LHZ)F#
M$A/D&9L3%5P:>)S%+'.C)& I3YTH\KJ0I;[K1)R^C )@$Z(">U91H3^E>643
MJ<$(9!F6TF**WJW7U,#7I<0#>$)]N[XLMD$ .V)2UW7QG<JJ_*(%M^/#0X@-
MO38?S+E#=O\Q&DGG)QHVS$&],&C>OE&^,3@. K^;@0.8XI,@26CL)&X4^;&7
M>CZ/7LB)^";@F#\K'!_7F%B%FCDA;ZI?V[(6SU^1TY'.$\E8I0R"%LCR&JUC
MJ4M\;EX/HR[-5D_E?J^0>N-(6\L:WIA,7"G,LW6W:[EF!@R1:D_YS0L ^ZJK
M-G"[-F]$]76)83*T#2G +9.Q"]/0BAG)Q6?(FR/_6_+M1Z_5AL6-K,O2-&%9
MD,:!ZV/>QPHA0#X04\^/6/0BXL:318/P&1\ OKGWZ,^^0N;S"-*^R80F3R^B
M^"8I&OA]10U1U_2WX;]D(\4"OY1*7Q-V^P!UC\>B+ %6Z0AV2B46 Z:%"S31
M=M]"E&.BUX97X/_F@&$>H^#W2N ,;#RJ"F8/_K<WYU0O2-W,"QT&6>($7A#&
MF1]D0<3]E,80A=F+@.@FI/;G=:IWF&.-BF,)A*PYCC8'VTP 8JRAV=?':9=
M/QO>7->LQN/KXMN^_IZ_ZOHJY#8G7_6[@=6T>1O0E*,>#==)=!6P\V(= P("
M%FOJ=DW;-7)V78W'5.'4[:P:_K+V9>%FI=8XBY,T3?TXC&G@)#QAC@/F.Q4*
M7NBYX2MN_Y(';H?(O#.%6:R-* *;@:6JO_9H -NN^:HHIC*?@B&M!1TVW["H
M)FG#>)++&6#KY4C6F9HNA0.$[QIJ_^9>HKJ:C!O,[SPML)[P@\MC7->]^I/O
M^M]?J,+HY?IM^_'U4WQJ"1!GD9-&$:2!#W$2)TX4NH'GI:'OIO$3@+S^GME\
M(9W3B4:9^=73XC]T=GSWQR\ J[$IE64IQWO$FUP1^X;F2P.O0NU;N\*NWEWW
M\>V]KKUNZD&RTTV^,/7O.:?YCQF^!IW?:FOQ>B/V]75/'[^GWW-^GQ0R4 [F
M)>[12$!&3J[YW%E=@[;)P%#+2C7EZ 4P!255L[_<OOZ)3'I7TUSMG_E]CO?_
M^WW.]33F5[U=\\,H>]'\U.M_4$L#!!0    ( *N(;5CW S&0K 4  #\>   1
M    968R,# Q-3(Y,%\S,BYH=&WM66UOVS80_CY@_^'FHFT*6(XDRXK?$L"U
MG=5;&@>V,W0?*9&RN,JD1M%)W%^_HUY2)TO7=G$:;(T1!'PY'N^.]]Q#VOU8
MKY*C'W\ Z,>,T+R%;<UUPHY>/'-\N]??+WKEU$^6!2<\9")C%+3LPFLE"56<
M+EDAD7]&,EROF- 0*D8T2JXS+I9;LG VFT8\8>!ZC6;#:;1<U]M:/Y3I1O%E
MK,'I=%I@@6N[WO9RRRJLWB_-[@>2;B#3FX0=UB(IM!61%4\V77BYX"N6P2F[
MA)E<$?&R#OE('3*F>-2#7#KC'U@7'#O5O5JAF?(+X/2PMIC]/)NSI?&FZWHD
M:#7]T(IL>F!YG8YC!3:)K+#-:!AY@1?8M%9%RB@H#=+L2ELDX4O1A=RM<M=_
M;6,Q<,F,KBX$,J&]:E]SE J$S&)"<>NR48-\^\,:GIQFJE99%I<JO/2J!Z%,
MI.K",SO_]" @X?NEDFM!K=M3VQX5*GNP(FK)A96P"!62M9;70ZK8I!@+I*(,
M=0DI&%H]OHIYP#4TW?X^AFPK>D?]0%7=6U-W!;8RXP$B.QS/%I/CR7"PF$Q/
M87H,PS>3\3&,WXV'YXO);V,<PMGQ# :GHW+N>'(Z.!U.!B?5W".[<'8^FY\/
M3A>PF(+3AO/&O#%LP'P\S%URFBW[D0T<S&$PFIXMQB/8LO61C:KBT[%]<^R+
M-V.8#V:O!Z?CN35]=S+^'0;#A9EQ;?N^^?O'.M,\VMS7C]K11""2A6"AYE+
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
M26WMN5-;>BAOH%^TE"+4LJV6KH\ENU)"Y#/R([ IUQ+&AU!J.RS<B@N<<O2
MR'Q+,^U=D$OB_<4<Q B_&8=H D#8%I 6E)@"K4I"SYLGM"R^DA," Q+F.Q+W
M43F1NBMSV.H]?E>CG;SB,OG1VXD8P&;_L^('4B)\!H33#A9E@6JM-2KD5G.<
MD NP#NQB@M;&9/ 3M-5<;<,>5(X^[NE3CCX*Q5:V0VK$(Y3$F(["9^;7^#//
M9Z?P%6AFE^7JOGC,[[[%6B0N*JNJS('>X;<O=_WV?("5@OBU*/W+5*_9HB=8
MR!I3"%L"^X4(46D<[T>N$_XG^RTK(TBB_X>KKZ)B8-*$"=+Q9E*Z90[)HPO6
M;BXN;_9LL/9-##%1]Y/M82?OO?+>=S7U_5MLY=TXE,-$=!!V0P0"\5,-'F\A
MX6>(@H.\$D,5<%P\ V>7)!)'02"%[&M3W @Q#X>SFF@:!21 8JQAAEP3 <BH
MG-MTU%""N44J;\EN) )1.@E)LP%+3<I X9X2-CUU;K@56L&S&<0:%=U,/D#7
M+MG6:RAM&985D]_9]JZ-A31 ZU<[KS]?O</RR&LE^-<+^)\O,L29X JEJYKZ
M3:_*F1/!KAB8?6P)5F>*=V6)18SSAOE/6R[8.3_#2P^L.IFQ5H<:K^A;4:J<
M9VU#:J_MG _.7N+U\\[6K&S46OY[WL_@RFZ$EW8I2C^!0'[!E_JTQ;VU%2,[
M@MD>*A&Q/I:)%C*IILB9_@M7S=FUU_JGS%64AH^L*(5"LM-=])IE_E, D:I]
MYS:%+5V;"L$U:-L;0<LPQLF".JN)_X\.8^ZUH13')PX.:5 I0IE, HD6RZQL
MIJ2I@J"Y'?:'^V"?BAHL:"X$(5UHGD(4;R$:&,] $UC5H#$A-3&"@/2CJ38H
M(EW"HE !0@1AK<!R"*88!=5JZ2=RTY@^5B7BX.:7#J@&QA)2X)JHHG2;2BAN
M'0Y%M#.[*@J%V"FPRN"8A:60B=N95#@2D;@$RL@PTS<W)YN8.@+0C*LWW,"A
MW/I-I82F\>,!R\FEW,U%PD\M7%E-)2R 2&C*A.02'"$8I0R.3G4#%+)_E@L!
MR5[O_M*.%P>'6<Y(VD$J#4K4$?A&-,#WT?)P7W>)/&"R+!,60<1<(+;@,8?J
MP>)C(F[$8/%7RP'[3 BF(G :8+<W4PCZ[B#< \3<EO!@U+J@34&)MX* **#?
M7*<.7@/PF0<L8:\Q!1[.MD/9O7\H'^!V [-#'@]*81*2UE.$"39J"^)K-L+4
M!VM0  ,OIU+IE8>[4P([JD#"0EAZ1<"(OF;\E?M /"&6T< XV)>DSI8KK(#G
M?=FSAUB#&6V#7(-AD"!MB>#5%.,G'TSADTKD&.!U$/PF/ER4=892:=/F1C@0
M__3KM1)Z>._V4KCG:J&U0OC$*9$QJ2TQ@O"S!/M'4'%8/?>A:XH 'F=S#AED
M3&7C0BR 3->EXZ5\*F<&[4-*G-'ZA?]*^)J?I2NN]ZVG%UJI& :))5DR;R4;
MI-"I"?4DD)6$:6PA)]PVMN#>F_0LXNQ-@2<4C8+JR-MCZ>U:51+A^YXG@@KK
M>\!B&*:"/YV+1XGT)ED.(-.UTNQ8879J5:3Q"WHNQ&,)&K9CQUV!-^"]$82M
M0GTZX=-;LKF4NJ G FEBEZY3A?V&;J3@V-UPU>HCN3\7!+8'NO@W@%>N9R*6
MB$ 8T=1W9F8_(&QT5JUES;0EVNJ37O$;MJ 6@TLV:HWVSY624)4NIUQ"7M0)
M'W#[(%DQU0OSL-NQ>F:!FX7"F*T @0?WIZM._*'<]Z ^8@O.-EF>\CE9AY4*
MKBW3SB!*4AYE#9LLVF:>9[HD(C"@;"W>4F9FZ;!JA5-@$1*128K+>%:&5M:N
MU'' #ML+DBZP62FFE\8($']R+;*YA0QL1]*LU$"L>]Z$!5CM)$.%2F.VQR *
M;7*WRH2LJ [<X/.MK=45:@ZPE#:"ZJ7<0T*):>OR-3^>E#-;3?:/;?5V?$"
MBAHY@I81=F%B0UC%'U9Q+\&8 ^.W8<,>D1/?56]%:U?QKZ121A,S:M+CIC<&
M?S):YJT YG+>Y]=*U[RP]53T_Y"48!R'*HQ#4XX"P0.,Z(Q?;'B(,0L$P;5M
M2?D;Z.Q%,B>__M$L\;.QGZ;Q$H.X4'2NO.E"3K@,"AX%=>%;4<0/E1Z;3J-,
MZBEHKEFCW4:0HU@D-?H>,NWP8>9BP6"UL]9J*7+U"R6$%Z0/PZ"P^:=!_$*
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
M[:]OJGKBA0;>\"_\\Q6/[:3Z?O]\Q?K>*O?I["7^^R7TP?Y;+/\'4$L#!!0
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
M.>C"(=])..1V\05'*Y"4+KY$78%\(4"=!9NT:PFU'$CU$:Y:$"(.&G&K>.@
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
MLQ>R<=K2FB '\$S": L4GW*%6I&AQVE<<%?D*"!S&L:)CH<070U(U. 3#UN
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
MJU+#T#HG+4F_SV'FK(T/O0]9 ^>U@&=SP=^(GKO(*'S]:2PY<04M"3)X%(7
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
MST!=&:KQ[QMX*7&GPNM@<JCB^PX(!7>F4W>J'26:'$6\.+$Q.)!W"&?$1(3
M6JZG&@HTMVU).IVH\S"ML8?I4>=AZCQ,FZ_!M:12RJW/"91X'T@&I=ZAJTVD
M;%-YH*]Q6BD+!O&1B/K+>4_:.4I$2ZFG<W:7S5H8X(/5%>?N%N+KS._A6>_D
MO'<T]%[U7_?>'P]72UGV':S*;=4"2QT:,P&^Q4SL- '9IE+!_HF5Z1@AXTSP
M>B^Z95V_9?TFBMU>LS8FFK5UBI' 892USS1 I'X[#A6=%F#3!SD;BE5** RR
MG34_ VPU8H/9>OS0)7=I\LT(5M5)&[T[NZG;C$O#D-^T&1M^ @1[XH)_4&KF
MPE0,*X@15!:<XUO/&[EE')Q.G30$5+P%CA+>T(06^H"!&R;\Y3"FX1"*4>O=
M>B2L3+J@FVS3F(F2K)=R#+*U8+VVE1W/%R0XL7NP3+;1'W*4T&^9RE\3(<$9
M,H#Q1G^Z0[%^A^+;"F^T5;6H0[P:E36<BD(A[)H8P_7=MEB_;?%MW/A#JO8A
M\6D7#K\D5FTS4-"9R[%JALU+4(/]JXFZ8/8$-.?OS:[I7)9?Y;(\Z%R6F^FR
M[(3NL@'V5ZJ@Q@EZ%2^SI (S*9];!;5D;CR0Q:,@_9!7LS*D0JSHA8S^KB)D
M+0W,=_=&SMZCC?+ZF\UJBJCF=8+.6 ?&]58Q.THRY,*LRE=8&;K;#RL,?]2L
M-->VU!FE89;#LI=$(VD9-L%XC)E9TF8C!L+:68N,.!DD 5E\A@ZX7FR3G"OL
M/;%\^8YIRQ@3%_M@L0XV 8;V)?$TUVO!9#..LE@<B0&1+!2UINJI#4^- %2:
M1+9"_+FT6G*WQ>]\BW\:0TX*JV;#9E"."?"A4Z^M%@9FJH,>6DVIL#:B9.)"
M?JM3H[%8JF_LCZM84V[#&YV'^;73[%(\@0MEJIB?36=GP3-Q+J% 2X<S4NB7
ML?QST(/",8!,=21Z 57>D(X0_H4&J<ON8M0R=HKAFK.'4<R09P(F0'V<Q0*I
MUW0ZTP!A9Z7Q7''V%Q:P](J9"N,QR(J%[#>DR]5%MMQT-LWVRB@JA25^R\)@
MKC@[/RTGR!@TU4RRAM3(%&<".^%2(K?M/\G)F^;2#5CFW#!+$I9Y#HZ(I-V4
M=@Z!_Z,*L]4T,QP1IK?^RD"NFIO)842J)=)9>B1=HZ) BCJ$J%'O"X<[5V9'
M5#=\$XT4)Y'_P#NZ"%$$8SFR3D*MGX0R:9!NF"$N&+>7"+A-#@MQ'1H1)9\S
M=0%5(( U5W!OT@E ?/UG* :(])T!^!S\T 5MFGQ>F!2@N^D@]^,4;O2"ZV+K
M@C_P65(1I-4\J P#@:U%IPB/FA*Q05Q6)3$W&N&%$+@T^I%([\<JC?B#.1(N
MLF S5HD1N*8EEE)V_$08IA6<<9T]@;0&+M9 ,XA8W2EFHK(HT@5W)-T'SYAQ
M3Q$PD)DH6,;Z+D,$*D@BU)86PJV3J* XH0/L+I"N([M8TW<AC$F#H 71%7YU
M^9\95M2Y-#69BIU6X"I&&(1[(ZW/M3O)(Q+XI-DOQ9[J8N\6X"@I3'!-P.05
M#NVFX1K%JPP#;K(@C#>^C/.R4NZE8@(>C<1NIYY!;502O\-%RO3=<!40*#3'
M&D?PS[^KO$-9=BC+=799/NY<EIOILNQ0EKLUQ@Z1P' 1816Z1&1QX6T))I*Q
MB7I[4M@&'IJAM<V5.A[ZNJ212L:V4#*Q?#I%@4?D.V#;!'-DI"B2;P'Z; %$
M:DJ. 9<XHU;V1M-:P!N,M>\81OH:1\U)%8(B&5>81(#$(7B3AH%;EMG>]L8,
ME)P2\I-Q\5^CW.B?NS:L5+%WLES:$X_0=&CPN7:WW'K .SMTYUVC.P]/W_;^
M[*"=ZWUKN%*/47>.%><*84&V:ZFY!/?I6$J<9MCA/M=OS;\-]^GNF";.3H/>
M+"7G-^#LEL'I;-5>%U=' - OQ=+IFLK7!](1_I0B+#H20U_6PC'6P3F=HMNR
M!K]S^BN1F"Z&NWY'Y-O0J#V[[7,E2FO 6]P!HUX%>8Y;!CI&V:IF7XM&:6-E
M=!;L3IQBD1<._,5I$,)NQ)PDRLO&AN[-?NH<&5_ER'C2.3(VTY'1B>.;P4&[
M&LM6_%"#KQRLE=[B=<B5\TBAU >.MF3Y19#&_P[JX-<<M HUUJX*"[BH-VA
MU1K[+SB+)+@B54B_15 ;B/DQ)*46%@0/;L4P#+H0<"R1"0;$97NGW<ZYNGJN
M+C)\@@*T"QBT-BT(M!RIHAW%!3J,K';S9+=98ADZY^A@G6=D_0[6>YVPC"@(
MI% 1 MO%A#^#V-!0 X8>: (R)RV0\$P-93G^#&KI"^!*QLVWM.9X6]5T4*".
M55%DMT6R=S]VX4WZYSKVL[MVT)V<>G_T!K_WS[S3,X^4LLY+MYYB>EA'E[0R
M48$"$!="&1D8:8TU.\L%?O)T;BBV+12UK32Z,$D*U"+@4%*NVY @3\Y0U;D+
M$' [AX(:-0C?P6)\NF&\)]0_%1%K@)4"]XM&6BQTNY/GZR+/.X%^UP)]</*J
M__9D\'IPU!%:KK$PUW*1*"ACIJ,;&Z>VF'(@)$V(7JBB8VQ58XTMD:)&G'T)
M*E"T=I3,&/694C4ENCM\@;>1HYTP8@$8>7GI6)G<T07XWT($B&T*_,L!X;(
M=Z^:+D2T?GNTM^-]F;N;,15-;4(#)FQ.L> FMJ2L[22@C!7S*V*$QZUB6+Q.
MD#ER!,_N[_K>WO/G^P37SKQW01ZJQ-OS[:._56!4[M%33^M/[3/ TB$&T[$9
M6[ W%LI*^277)+\RP%)?K%G3U;&IHR=>>_A="">"DWC0XD54:)82I$9/0)/I
M^V$;(\J]<>"O&02LBR^L)+[PM(LO;&9\H0-*KBBVFZH+G9%4+T/2S,WU=:$'
M. X$?5#369+-*2T#J2?S(,1P@ \J7H@ZG.+*$.EE7,+?W3VP?IOGVR)11.--
M.-H -7_,BM#5<3A9C91[PV%N]&<.-04C7?2N"4,5)2*(_LYB F459:X4;+\B
MCK"@V@<?W? CBC'- LRLC,<.X3CK.G9/YY2 DTH^#=8R=5)ZNEVY?KORVPB!
M<%<:[V*]K)+C8&QRJ&7Y0F:;QGB!YOM/%><F.<MBM_2/8@D;U@H>WG8AI&Z+
M?5D"Y=)\-;!F=,J:^ CT9EGB*B!7K@TY.D$]KD<=E(L4>R;W$<PJ='2;M$6I
MN]6:2$>T&/"KA#F8+U4MW9"L-_X"Y%S-,:W+)=6**'7[<OWVI4[>K+G2%K(D
M;]:;YE_3G=;J37-Y7#[M4.L<9>NW_;X-2WT,^R[)\L@*.; )YAS#D[)#=3YE
M4W&PVPIKMQ569U>6K2JX0:DMU+UL6IGMIJ5O#$LB.="6:+>5UF\K?2/OJXL6
M:"F3^H7*?%:KN_I%JKW%L]\OO;[S''^5Y_A9YSG> ,_Q%T@\?3KNGP3^=HIE
MG:7C()A K%IR/S<O"(6GI /-&\E A(K5X<)[(T W$V+C@ITZM--=HYT.^R?]
MUX-AAW):2P$ZK+.*HGG"W%+X+R?GE[QNEHL#=59!7SC5",1A1R1\%=6+RZ0N
M#!<S*/P:(]6GGTSB*5A!D>]-LBNDQ_)U",00LQE2#^%086U7JH>"997/L2)K
MHY#"T@H*-3\ZD?4Z5"?P71)<&;BNZX)D$LJ8LS]+;&#,V3_\WD4/J69-,]W7
M])5<0"=!.LQ:]G:<$\4:EXXG\ GAB'7R='?;K,MM\WNW$G>>*P&+T>_R(];S
MLB'G&2=Z-1%VWA2Z(-0FFA3"2<+7W^JH?#)W&"(H)3,5S_Q%7)3Z4Z1ZY22X
M:1 G/A)%E5C#&VX+I+3$&%59Y2GG;,XX'@J"&2\=N4C X"T16XC7BW;THY-F
MC@]<383,5O-9%.)MN8".P6P$!702[X"@="J&\\\=\>VX7T9S^XL";T?#T"%=
M@"8/]KT^+(;W*H\Q5V-03H(P\&D5_LKR#][>P;/'NSM>DV>LWJ[;X/ZN]. S
M+?9C*0B?D_4S]\))D,)L8G/..'7+R"ZYD-QG:3"I&5^*V4!S5"JV(^E:^S-\
MCGM8%K2%X]6F(-,A:+C#(TP!-630HL\Y^^'>+'CG>?PJS^/SSO.X 9['^R$O
ME^J?U\/?6K6_T_KO6NOOGPP'9WVO]^:LWW\+_^C4_[54'1Q?$SIH$%?#3+=I
M&>?*\LVYBC_9"4A&P4 QI_ %*@PQ$K@/46OT@ASU<-#Z@Z3^(^B0L*6[)';L
MB4J5J]-B:A"1L$22GHVYT[4 @*]=313*YRBJ+Y6!4JXJT8@$>+TDD92F:_2*
M1L'*E+%\5'ZQV*H[E: ZLR>*]7&VAZK9+*')I'^CP71O=*O-%%/.?='%).[Z
MPCCJO</,Z\Y/M*X7!8JU61O;* I(N#<8FYFE"7%[&QX-+JI!;OTL!?,SID0)
M36B>J[$2(#/%.M QX8&A0*6#4B4A!T8L%V$>C[A 5A%F,R?;HED.)J5OZ++
MM@(*!W3!X'4Y[:[<[03O70O>\_[O_;/>X>!X,/RK$[YK*7PE@V1)^2O7YQ<F
M((V-HAJGE]#1B&M,J)1* R(6WU\LZF9RXZ0U5)[CM"+G_[C"D"?^F(0T1U<[
M&;H^,K03HG<M1-^<@A ]&9R\\8Y[?W12="VEZ+!%8EYDERI/A;$'\1QE7G&!
M3"U#16R2;AJ$899'Q 5'.&T.1UZ9,.1YB<$4^(>.TW5"<DV$Y* K:G/7(O*L
M?W1Z]@I$9"<>UU,\UHN H0,S5RCO7%53<'%:.&HT@4;"R?1HW.%+!RB8E1/M
M'Y8W(.."!ANHCZ8H-#)VKVY44S7-8&"15$_-ML. :M86DRPG\&&#4LW@$6=5
MCKFH7(B-Q#YQ9GKG0>PX@FN-+VN2AUMS8,A,L"*N4Q/])31ONG)KG$(_9EG>
M(&TFC(VX41R>4'%_2\8X^=3CE+A,N:1<P41;DI.$4!BXO:I2B5\&A]PA&;^B
MW]>+57;HA%6@$Q[M=NB$S40G7.^4W"<5R"JCG2YZU[KH\*QW<MX[&DH"P+EW
MU(?5(?;??J>>KJ5ZVBN9?!V>:BTX+\53!"\,^DR-2,=W,EP<%&Q,!C_&Y'TO
M0@Y4UD/9 P#F_H<TNP)M\0(A!:)5$7YY7BN!-_?>@N9W =<,AK$HQ40Q6WSM
M"_3@5GDX 9V-2\@'AM/,J0UB27;J#";>5O 0*Y5QP?J<]'.CLL>8PE(ONNMB
M/ WI&>N9+[VMT4);CD()?U3I-(ND6 G'Y5J=P-X61MK&G %C*P7R;\. \1G$
M;4]1NV"JI*OMK<'O:Z\M5$FH<W@0K =29-VF'\) PI:!"/;$F0&''A?:W,[&
MX\*P(,&$&$89AKY0OTSYH!:V?IM7):L854PEYV3[NZE+6S 8(HXK,E^6>JY9
MG7%28" XW*WH(<%Q"UNRA2#MQ+5$P!?A%*#APD;*D8#'PGL10$]NJN@2?52=
MZKXN]WWGG[_K"__DU#L\._U7_ZR[W=?R=A<&?R<3U6;UXZ<&\T>WB?'-(SO
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
M*AA*=4?+H-<:]D)9,W@*VA52RWH0),(@6Q22UA-0R5%0<?AF1)!!&^.)D-2
M4  +7)7-%M.CG;;H>+4%Y7N LHN;+]:+\$G&L8P(%$;]_AY5.8>MX(]08AQO
MH_M=\_A;6(U.ST9B>73^)GDX&<=<QFP\#>83P=VI&XTG<\XF?")]=N1OW\'?
MG@2#>R56208+7A#->:)\;N_B(FMJSSLH48I@,XT8HD9\TQ"[ACS#EU5255)V
M"4"/8]Z702I*K;I$JJ&)A2$>BJ))YW7."H%?W@*1!DI4E.870XH?#!P::@ 4
MI)#2FC]@#S;Y,B\ J420$]1#UL SB$)'>0;[J[94=YLR:QJ^8E\!YX!Z(9&
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
M\9OW\-Q2S#11K'B2+=,"V%JXF8H6 ]:%#J[G\(>GG0L6MAP2U=04OP<MSXN
M/2^R7--^O4A8J]O&L@?/$Q7*M2W#M\O@O&G"O(Q!G/8N=HF;JSNL[?,:%_#H
MB7]=J+\KK%2_3&/3D]XW+?6J/'408QVZ1R2):P\*"#<\P5J,AHA%"4.E/,EE
M8'7 T&=:ZQ+)&$['A3Q12W?QPY4Q;YB"@>-%'H[UP5+*6-> $QLLBUFJKD%
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
M5HU71R6LW]=%V(.:D>6E:]\G]759TC.__-U6K<(B^QGC@>R;5P!B& 8XIS>
M5U?LCJBU6XP)CBH3X=2W/4ULN\COQ%TL$(JNVWILHZ[9!CFE)NP38=N:HIZT
MJ!]HSV1"K'C03C3+ZCJ$(.YJY/.J=#(9X@DP@.5<^1[^T'1\(OI2Z:FZX?1V
MK<'ATHHAHT#G:,GK8WG;.\]NEW#2-@P,-@FW'WP?CHVPYU4P%%Q)Q4I%]:\I
M[)^N2Y<O>+Q BW7?+R.P\*S^%SR?E9XMG6+2WC_G#E =3IYDI5"/BS*<YQ>)
MJP[:[ ^OD_54+U5_DDOFF/G8#^G& 'Z<<2/;KI;CV7YX &86])-[RW#ASGN-
M.\*8G][WOO*[%'3S#.T;^MES\"V/"SZ&^B$"LAPPS4H[I458YL Z_)\"W<@2
M1@]^W'[4:L.$I+8V \1B-'C=$SV+9BW\(H9".!@PAV>0N08,NF-$,EB1I\_X
MO\B&?M"*\8=0!RQ;?' 1=1I7CW!C8'\LOB:-#<1'9+<"[&?I P>]F:;%J*X
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
M0?9)>9==6E4C;"J+%;E0TP/65+<H<2"F86HK 46%UZD*3.7)0DSN0"V3(CN
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
M)SQMD@G06'%A+BN&FGBOW4%1(ZEHQ]^CZ/,]V7V:Z*/U&IL?"0<2BL5="N'
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
MKU!8RW>XMAO']MGP46IO'3=TFCUD*57(9VAI<JOWH0SZ+J_UU%=23A0*O*O
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
MTBKDG9O!>L K$V+JYK;NO3@XQS=_+_[B%C;Q_60:A&3Q.I.\ZB<Q9==9.'0
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
MXZ:SZUD8^-\L]^F124]S2Y*19[:#GD^WR7MBRG"4G]7?[H':?/A*U^R'+--
M;A=$+%FY]13$ (9ZD]CW](H)*,^[>@HQGH77&;V+<:-4>34!^K!5'A^'7BG<
ML-=IAR^MZA(@5FY#EK=F.;,:8?)I QG9W4NP-Y6@LKE&XO L.KK =_$C<7')
M6G>QB8H0TOYQ+T_K*THQ^#:>F2^G.1Y[V\R9,,I-0VC.NR$37#GWX_L BZ!<
M/RBKQ4UK$0"O/ I2O\+9<,:F*[;64<%913'V>SG </=*#;):27O11,A [=,D
MX5RO/J$,D -[@J)"#5D+&!-=Z33!'K_=$-W;&ZBJBB<[UY'ZVW5;?94Q0/K%
MQU6DWQJ\'D9V"P8=Z/)X-]OXYA0,!#%?*"&.CMV[W%<%.TX<$4?')E:>%?!@
MW$*FYOV$ROI_0>7$_QDJD3^ADMC=]">L7*.;MV*!)(\13H9C&EM"7=XW0T3'
MUP<VU(W?X ,K"M(W@G#&VP%+ FGG41/_J)!\]5_>Q^\D\G'.^/4>IJ-*D/#7
MR^^"VN%E1R1 8A:9S,R/3EMSY)58JQB0S@(5C% -C(([&/JX9UXHMHKP*\>K
M^_MLDS]9<=:ZWX(MRUUPZ3B.;-.8%(E.&2)UOL?-O$)K,=+LGA^)JO5LSK^U
M--'^@8Z#>4#JXYF\Q)XFCI7/,X"?V$@&[<,K[ <,X@QDES#5LN.2AH,PL>3]
M(:T[)P,D,4_ZIR^S9#=:4W+BY(+GY>5%4^2D@@0'W,J%5-5*!4L;!2>:TJ7X
M]+^=7A*,6/\@VGK'5FN=(97S-H?AV58*-*\8#ZVC>)C6)OHJ3F542)/A@FB&
M)?H:3O/[M\QS5-I*)93P2PE')&Z?W^8]"MR)LR[+-(AOE><+F^RS?M7U!$56
M8\@'7^)2GB0%>WO,NIF.09/\!*L_#A2 &.G[>XU$+UUQ_\KP-5=W4FEX:.-Z
MWBN8[+T<3L,_3Y5)W'S0.LM3?WC#Y"";WS+#4SC5K5_9]P<R<?^1DWEEC-+R
M(WW]$=#=@D7:2#)>V-O(=RDF&\42W@-;D 7W&);)<UN0 ,BLCZ'J='%\1T1:
MOO;6W ;2946J8-!]E!ZK1U$U1;;WH,IOQ>6:RVR$!"@2)O$1IYU/"E,KLW;E
M1 K/9+\NTK!*UQA(RVF<-OS4N_MJTD) EZ5EJG"M/2*_$G4//U*Z4CQ;?7$<
MC1==!D,KH\%+E\T:D:4P/D7Y"Y#U;U3T?6VF0!X]%RZO1(M+Z]8?LL*T!IX*
MG1WLP BYNB?2"<:T9U6*>&S&B^ZT72K!^6_[/K,H-DX8 ST'GY:#Z&^.+17\
MN5!/X)9IX<1Y-?""0YM Z8WUK(@CDLD3=XCDDG1K>0.I</(9MJE'>Q>OQDSN
MM&(S\'+R;B-#ND,%[#E4?2>#KUL<0!9>7B1CN*O5>"B92D!A0F1-2P#92L+I
MH?YK*2A\.]+RW,H[3BEB2NKS*WQ#XHQ^4S_R)"ITH>0FU-E$$]>7BJW!,&*K
MG/#A[XM[FAK$COMYSK!?ZD&S^5!*;6MP7=\K>B/D>6[.N<7LY0[DAG'C/1E>
MR02TMI2B46"L3)1+Y1;29^7TS !OH]1IKZ4R UGR36"@>&#/@)I'7+9G5D;
MNRQD%VO@&^&1%[M=B,#*M&[)2.QUKS=,^,GY4<--F> (R;+3[I/>1CCP".->
M-A[/,_+$;CH625>6#J:$7A3U;Q2<K>Y[>0\'9SLB ?-P+\L:&B'V_JBU=O#\
M]HMOZ_UKWO>8Q2O>$RS2(+N"#6<PN50[(S3%-!.HELOW([*V*N -??3R>0P;
MUOL:AVPQ3VJB7M'='"4AYQF#155^:IB5M'[K<WAL('/%Q< RSP/>U-//W)$/
M8HP2Z+GT&SU$G(%A4UQO[IDQ",H_BRN8;9=]IUFZ;@Q_'EL>?^6E=L.$D!=V
MJO!2BZ/R!=$<_;!>)U\/72<##FLKP^?6]X8Z$/X4GYF[Z <$@)97( Q+JN17
M/MZXZ^1\G[DK^RN:S$^I,/A[E)IFJ[*X-MFIKB\!UPJV&0JR:@W?EU0"XU%.
MZOR]9L#$Y#+M!!"OU2,6EPP+;X7DD= *7=L96#]29.5V$>L/C9(;H#0V^WO>
M-O4YK :L>2P=\YS_E@=NQE/8=4[++&!:JJXEM503)]#,.EP>#78IBY:2\_KA
MTV"S0W0V9J81Y8.'WU_MC@YLI=AR5.5MA7;VKSU!8?MB+L?G9O55!:P$E,18
M5+HASZY42MM_!K#@9H<O4--_(."=P&6VCE2;;&R2(I=-BV7R<;-%9G=.9EQ<
MD5NZ("K'E;Y%AH: C052N3.^-$8>SV<BL<@,(?.U6^^]<[_N6]I-C2 D,&E^
M4>@0!>:#''SX!#USUIGT$ENF#0<7CURG.QM:,R.HS^/3^8<AS$:Y]4L>8O3#
M^]*5/+YTGA6PL?I:O$2V>LLNM;H.P-K0W+B^6MG;@RSS-VQBT!O?>3W.>R40
MV"Q8,M]]75(,:7EZA:T9O?]PTA&F1+94J+ZLQ#%4\(-9T])@3#NTZ;!X72UV
M'ZIPN.B%&XO</@S%F3PD)H--EF!X?#4USE2:ACC2D.,?#??_-^UFY!')/V1_
MR\Y,"[%=X(IZUI#.CMHHQ (=PWR,]3"O1/$W9 SKKY=XT<A@TX-P^D^DS[B8
M5MWPEOJ3+\[OQJ:UF?^^$1@L\!,HF4KV_<T)!/OPUX)X*8';^2<9;MPU8O7A
MS"YK/>]C[10AH-B+JT'HU%O+*E=V88OFY6L!%4"B%1R7WR]_'&=0)PO=<ZDC
MDE]6<..'S)';;PGH27^,GO^%,8Y[Y.^6IH D4?>T0UFJC;R4ON)*S2.2:VZ[
M?1K,%JA='F(1UD]+"]G"2<I><:E1%%#Q8#W9J3\+&RCG5WRW.V2&+EPG,?0!
M[]6]GOW'FA$V8N03OK! G+ITD5\4_+K(Q^Z^F')R8XM8Q@_0UW&CXQF'3&ZB
MF5MH>?2+.54VN"_^2= 8[(ZYH$AR<@*,?5Q.^(8EV\FR#ZJS_O:&W0L#GC$D
MH(IM6D7]A=[W'B<K<;5,8H@I"HXY\$RZ 87$4PT^M(<^++9C_=G*ETQ8&"?K
MVR)-8P7]OCEE%">;(#E9!P$\7_Z*;.F*M<.%';9LII-HOU=HQ?D6FRCA;E]6
M3>+85O-"8\F&/[0?;CQ_W#LHQJ?>R?]B6>N(Y/0M%;CS!4=P#Q63:ACSM?2P
M%8A1!%=:@%#Z.[^0C)2&IRB3K=S9) JYSVJA<V#*L5E)W'@C'M2QRPQ^%&8V
M4&EK$>3#:&W-6E3T/ ,IN*[%!.W:3.[J8'F8;3DMH*UMSF@(F>?BI6+8#KCP
MU W)$WR(_XP#=T[L>>4%T6.S)M\WHCSC0$L(-7,U359#1)"@&7QIUG&AX<Y(
M5A9MKE;,UU:Y"C*A /WA*]INEN7[=V);2O9YNGF^2=.HG[]!"R[IJR2?[[8L
M41B[_V<;/#*^7Z721Z.7>3>0Z7^FF9N[F)171 $GHB>_*V!2LP_5Q-8$/>.>
M(>,$E][D=!YXV_RRT_W>$4G]""#?F\>,L#$T?<MYIAW.)FTGU!!HYBV9B0;
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
MR]R\NE?4!M5:@SN^GF(ARY#4\:84BSCM<-F9/4!0RRV= U9&W6."S>)D?7(
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
MIEML%8/%]]#OY_I+;RP=GNJ5'.3$MENO<%TP-NM#B7QE"HKEOV:]5NBR%/G
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
M]?@;#3R7"/2I/61)<G!S!N79'GYC=;U!;-%$W'K- QZRBTGQ"V^[I5-.'QV
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
MF.6\V>EL0_6)6G.X\&'SZ[^HS/)!$?_(K,_0!EG+=I=3F</)OG3;]H,"A*^
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
M!AOXREL2(&<K@S'GQO^'O?>.:FKK]H8W1$!!P$)O05! $!#I'5&J(@A(D*J
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
M=D>IXDW4(?PMR?)7 =@F+7)Q< JP\Z_*;KQG-9U:R% J(W;/_S-Y <E\MI'
M(-1P6GF'BQA$CZ@R+YUM%+N><@"T6I[O)<#0)*.Y*[;Y@/L_&NV?9.*@$)>
M5GKU D>G_C,#^(YV=?S8Z##>AX4AOP45M*MYVJCC+-?JVV.R<2@CO&G6W?C"
MT1 EEW]ER%^&YW958]0\H@<K'#O7][,OIJ[W&1UJYFYF-WHSGC$/_Q3,M\3W
MX,+*JDTQYR?(H@C5T/]5$_\_H.'[A<G7*CQMALA='EQSG#)4_9"D#(MR>\F7
M+@F+HMW_].:[2])^;.&/EFU@[CAM=];\9G*Y33K.D(1WS_?E+8LDLQVZI-ZA
M =5[]U C<HC^:0[Z $@P;QEGE?VO_\Q_0*R=OJT=*XGA=/D^WA:S_<*[K2%J
M@8WXLEYIWLARI;'6RK.[$4T=52(<<TY[1=9,5'N":TCFEWM7IA;*R[D,\NSJ
MK.D_W5S17/-#Y>PA7K7Q/1*DX7R/$L%;/_Y85"1(*J(FX1M[HGRR4H7W! 9=
MP6>5C%T*&=/VB<]*E=_D@8ZS4,WQT?;-O,5 WB9U^^/GQ=2P5Z-'#3[5EG/]
MXW6Z*%*\=!XTWV>C,U!S3D]='UAW/\3C,J^Z-&%W )BVZ./5Z1QWO:66;+;9
M=_)W_E5S'0V(<K>0B.G[@R:F\K:$)<G=@A UWZ&^!+8OB%&4*SY][W'Z@HUT
MR:,#X,CEEE58I>\5\L4K1"33X_^;*WSUXBX=7VY>GB!_-$ (0F@\#;+1H\XR
M\-<)<S6H2"G25B@=6+A^Y=2#1LR8+]OAS2)<B%#NOU"I42&/TQ-L.VG?A[UC
MY=[^*/NH 5&&:A;!,![S E16_]!]S2"Q5C4."8X#H,EFE6XG=<?H4,I_AXS-
M0H]+&C2_<D-.GQ,;7.H@G_MD JN"[.)"5$W:5F>=\/(EP_EV)-.5/O&$78'J
MHG^Z4Q-W^Y7ZCN;4[W*$XP1Z03(FB*9B^J<!$447 \5G=Y$W@"!F^ ' ]P91
M+^H2C26KVE/VA/J?X\S^(*H/@9</@*0'MCDH8;P <TWQ >#2Y(@[UAN9MP-+
M\>59'F)!H#6@&A:_=[P<0C.B]@)TB,6_>$-UY%W!=DP6FO=+KH+Y7/YMG>)0
MM?'Q>4A>;FZTEM/[[BM_K*T9GZ !:!['.^=J"8>:>E_).:1<>;.:ZUG:+7DC
M.ATM&:5$Q<*[(?2X9@$>9^$%ZW(/Q+%.KV0BDED);S%G?FG59IFB/;!07UE"
M>>XNME'[W>4ZU2*J+U/^?17<.65Q9B0-_R'_:TB)TYV+P'ANXK& @3XJ+9;G
MU)2-;D,OWJ*S -R?R=O+[,QE&D-,UFH>EO_P%F5RHB(:4S/K_XF&DN]O( _=
M91A.X8D=-BOU%V]=AYTKO.F*J1P.$;^NETAYI-$XHJLL>R4C(Z<>-)\W$>,R
M5.LK19.$&U?(&P$Z82TS+"WZ! /SZ0YCBIQCIB OSP2G4/51')_Q"3J+(]1%
MB_("')X90.UI8X^,($\S?^33&8G%><Q0T6P(KQ;G_\:6B>>N>O8901HQ/=+7
MZ 3J;GK?KZ%Y^+ BXM-M\?IJ_SZ:$I&\#TB:7Y*8+)#V^S;-]SHRX%MRBL</
M\X]G /6G3?H&ES)?#[57THQ;GWC-[ZG!]%MTKS[2H+]&(W/>+95QZ#//T9$%
M4Z^Q?NG7O9<TN(:,W?BJ_K>,PDX16!S;3((8O3>Z]K05\%\F+VGP>>#[;O?N
M8E;N(XIM\WUMVZ33U5=A]1?)^>"WGF$Q=K@;PI9A)6FBK\L+9S8=.L0<-T15
M7<&=K_2F*F;*(PM^Z[PJ(R#^YY+K*7[O5_=Y%^/S'YR*5$0RO'NLD%^BY/VI
MF_8G9OS=UA^?&*VI@3PDP5Z<8RZOWS&TVG["7E8NW5^8+ H,YR8_V/DUV494
M6J?XKR>",/^50MY$<Q5090S)N$ #ONDY[6,-)/#B:(93DM[2C=4*-K$'(V7*
MKJ8J4P\?(IFRHAW<.%GFRM7^!.:GF:H -H;AC-/&]QF-,!+MQ^=D7Q:ZV,'C
M&HH@KW(S>#V&7V;\%ID\81;D; C]66F]IB GJB%C:D9Q@"7L^]VXMF%D_7/[
M1YFJ(M1W[H^?Q23D3QZ9N=V04Q[4-@R*I CRD#!$J/$2;B9ZM*. F1"]"=\.
MDXO?GA>;2XCR3Q]%%_GU8%FH5K).W I4OR>])U #C\.KSB?K/9+NA[^F?-OB
M62JZ?/!EU_5J_?NH^PW :PU8RJ,U//]0N4/?KQM9?2IFD/.G!Y*[K:9E\ _$
M4LA8J/-80Y-7VD!DN"6(2^7;#:HI%LQL[22!5G*K=&)/IR=K4A\/UUV?GD_8
M-:4B>J/V_#O(\\4EW+:DC9C]?I-_Z32Z_TJB.T.@(VLMJ*7.9!U1'$K?7]S(
MCD*L27PDRLYDT1X B=&@*FI -?\T7YB_S%=)S1;UQ+<ZA0Z+92M$##JEYJW7
M>*@&IT57S D9AW5UBQ]V! 7+N+'='2QGL8V5C=736-UNC6KY,#=.)+-=)>'I
M^<OKJO58O\)O#)E:B3RSS;8W5WZN"$KH4H4'U(1N?)T=/!7[>CS! EAV*M">
MP@ID:]#8+UDDOD[P4"AWAMJQJ99^;N:'AUPVEILQ.N0_%V.F&WU$W:)C<,_X
MU#,IQ'"M-KQAY-H1_H'F3/_2I Q@,T:=\_27TME@]%?GAZW+%YC@LYG*,0W*
MX>L<L5R;DH>68DZ[E'T#_1A?;6^4#I?>#LR>FTZCK<DC^]A[);T=([H7OHK2
M%+1?[+*SMK!K6JT 0J.F48M%?7.BK&-G?<.W"5'-\2 1B*,Y0;_G&G2C9$<X
M.HVSQ[:E_/["'3_1IY[=US.X&^2_/1"!S+NRVUAN:T;TP M1='B)ZH^!I8(/
M4?>K:MF/19IHL(D)WQC2>O91H=SE^YZW<@<WJVH1!*XWG+9I9C3283JL<KE:
MZU&@72TSW5*$V,>PN*6;-N<P#O5U27;NGT)D)CLN[=I^65?H+??J)V'H'\WZ
M;*"XKW!C^6[U.)_>=:W]?+(#".*=VK_M?>;#O>%]7VR;M:?C1[$'\*\YB7H<
M'A-@D,MB=$C>>-M(>@?&6>1;+IXG:LNAAB['6=\0/S=C?-_#AKE\T63<6CVM
MJQQX:#$9,WRK-KFEW':P\>X3EQ*'??A'KN%-[UX9+'OU(I5P-+ CK(,UVW7C
M5JQ(>4"%8L#;5/<;<.E^PZ+-Q\6_B'[R[  LB]Q:IH=MMPP,?OF'EI4,8'O)
MC)-@"B*S*I*&O1YH)9M!MRIHU;**L-C,/H+X</:W6[CH<?_U66$T8#0L2V7/
MAO.P8JO$S3B(G-YWGE#$8G+.<GMNH(03Q\=[=$^':O!VI#\)@YWZ3$9_-2>]
M%Q)M=ERRN; I[\RF[7GM=4-=U<O 3A4N8,?$H(E=][!B.==Z+PT<+N.2_];#
MYG%<$X2)""R*%,TF:F?& 3I^YQ^/O\AZ7*MJV+' 1@3E>!@5M3$__3H5POAU
M W5D:*7";15J?X+!B,Y:/6K=LP6!L%@D9K,7/GT""N!,RZT&IS9//=<SXV5M
M'OP0#>C5A8=V*U]UF>"21L-I8\:Z#/;"K.%3O'[L!J8^W&^6K JC-AZ3)6LN
MNX$/K&S=Q9EML,PJ: ;1F WV+!TV+(G.\(SB.0#>.D%>U&/3N)/Y5B*JB;M)
MGL!]3QMYU**Q3KEN3DMTDW+K2<ZJ5+L (SHM+9://*?O)+@ '[&R4H4=M=5B
M(<.!-D\[C?1V!IM/P4-:[>/J>+Q10AT_AMH?Z\I0S7,]?-)N\MAVHV).GZ!I
MK1L%5=Q",<"5/Z0_E"V?&C>&6Y+:8^\S D&")]TI;65+@I>&GFYBY%X0+(B
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
M1S\$%4':<S%</3M&>6MPR\OQUB9&GQ]?E/T@R+GA8[BY-+;'.?6ZFM!;4P[
M%R9./%F^**+D;\;\9._\:XT?Q^Z+899/';_,SOJ\S+EU1<C*489JO?IYD$1J
M:1=4E ';O\,X^LWY?O4#?6RH+U:/_ 4CF'@T< 1U%4];XE8^'>-S7P325_Q4
M(>[!M;,;,3C+WC<+"4(>CS3X;A($K1P:G%ZY%:(?-'.^#M)V[<F;V2K9:9H:
M]NZPFA.WR9^29&+PO;[IS8D\ EKR(YWX6.3"@OG.5H39:=<BL:%EUW:]V!N\
MAM?8#W\SHNM1=THW&*9> V17)F@Q-.,AWT844.*$@LA-O8G[M1U.>\K#T:EA
M-8%&=/5,6I>\0:E^>P#4._?)S5]OTI);(JO>.0"\^NAZE5KX1#/W5Y=L,-_7
M#X 3J3NP.)>%;!9*\D0^C%8F%8Q2+EEU1:,Z\O,B%10JLAIK<'=?;7K\",5&
M VO=5VYD&@UEG-?C?F.]&J&B)'%*VVO)JBNLRG!97*/.ZD>ES?@K9\T!5NO:
M#L#S*<E"+9/&;S6&Z'GKRX<F5;&)+,!0?WH/EL/0X,?M[@*LH2!+%R[Y'O^:
MD,E*%'JND-$C1Z?(NGZ9P,MM9J2PO32NPENT7])SZ@5!@S?\SE+E?K;APY[S
M8L9U"=Q6AV44N<&0IF// /59?"'<//&:Z%R$C+W_I7KON8RVUU5*%47<G-NE
MHRK*R!C=8\M=+%3Z4 ;MV[NA^0^"!?O4OI1]>"GV=1@HCC43>O,JIO:K:S?@
MZYU5*1OW+NHI4(2H8IR+<;54W"XY &*JD@OUUV@ZQ9+Q0[/3[=4S60D:4/.%
M[#6FT/WW)E:4D#9[)2/R*ACF>D%7Z#.FR:IYOUG=+/) =@$Q@;+"G^J)RM9?
M,V01\A[Y]9N_$_P-+)8JWVRP=%6SLSPD[H1]$:@UW-QV\C*HUR*03[(OKUGK
MF#_EUZ,B6+=$!LI56@J^?0!/P6<]WR\NE0D#]7V+5_@JV_!B@[\1G630E%-'
MSBDZ0_VU[N!A [GU!V<Y9(G>':]]Z7&-O9W!O,RNY\#_0<CL<*$%^@_C"K--
MYKQM LT^>''"H#>$S2.M(PAR6SC3D7LG&BBL,)RQD'9$!R[CX%MUV-A;3X^@
M? DIS6;/ND8;14<'E\E"-M)I2*:M]UE<EJ7\*Z$**V*YS?A [?'X]^^(Y0<
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
MYS2J<$_VWNN%XQ)*]'AF*HLC>SKRG-M+\\MRZJ+=['U&-#TIX1>7KF@!O@=
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
MALH!<'X7/<-'6[^K5LEO@NF^1XILCSL35MQ25*'\_J1,1IT[#,E<L)P=G-R
M$9OK/5GS$N=G3RGBW@$M;GL"F<I6U<5UEC1K^LO^%K[S(=LD-OI4=-:M'M'Y
ML1"M6IKS2W68+#M?^]5;,KN CDTKYA/AYQ4R)H@79[[7K1H)1JG.;+U1UYDW
MYR$+ 88D(J42U%0NF[! R:[]#VCP^_?$= 5'MQ<S$"3V<>]$"T'*%K3X:OPO
M?/T-\_T,'_6X8_<7@:TQ6])FPL*U[/U+E*5*\5_'.SD['@"@?.H#VU@<;"_P
MRD:%O<X#<5JQ8E)*]L*)(+ARF_^Y="7_6A.-X]ME)\NE'-VT#;S$IT9\]@?!
MVUH5)59!M\-VED-*%F8Z+F->4>;K8Z2V4* W5<?QH"!$D.3G8&+ZY,U$4V5[
M*/GL@LXN:RM)1TNN1K?#(WJ5 J#X.75V9:BFN'0^5R#&]'=.@I<2[ZFO8'N&
M+X1A0PZ @E2B6JQG?BMB!,E _+.CH6/O$N> X4"#_K0:?S8XT'S +SN4G0L7
M!)\4^-V"@J!#?'!50Z\>I\ A0(W"(&6008\-!QHS6]77I(6'FVQQ1SJ?!J?.
MD)D5":)@[#,?A1@J'*B5C*+;YR6G3K21\]52YPZ 8RU#-0,ABH;AK\C"QMF;
MI6.E[<ULV:07G\%(W_77<#R:Y:#SQB",L*)KG3X 6(].[Y>L[MW[^C9]?W1]
M%;Q/].POW.2!J 7]^5*7[=J%FN'F<,2&*Q&5K>);2S@IWP3XV[8AMFF#6<=A
M$/RPAE=O:\/B+]#D$'D8WAI\.F[TG=K&RD.ZXQGXA*@'H>4ENWUTMOA:NY-$
ME.X?=?FR<RV,@B/NV==MPA^">. I.,<@()!5S^RXD+!9.M(H(I6/&FBT-'9M
M/I>^O[B932^W+&Z(!B1C#H 9FUJ*+WOB*Q9G9[@S#Q_;,Y=&6B'JX6TJYW#B
MSEUE$2%JX8,'P'2/>KY%2<;M[C#'T7+'#%!O([N-KVMPJ)VQ6O $&6##/E4L
M1\JZ31X/2(\^?:3@FOJ(['<RST>"2A<Y P2G.S=[,@I'&QDZH9)Q>A1U7=<%
MI]MN7^Q]HU>6;;2%H3^P,7E(;5\&T6!M$0MCP*_,7RF(#X#YBE Y@;S(*3D
MNC)!:(5&]\8M]^[+H'RP<\<65MHW4=FK*+/ISL1;!P O$,3Z?P(C%UY)\L77
MB%I1> )I*QGTPWP07-++/V"1% B+&E^U'P!K/,F4&(0:O)D51.2(#N@:=2WE
M'%(SS!/R</+^SDYI^[32Z>G]C&V$,5JR['P7#,G(??>V6XM^*H/8W9ISQ"-\
M W+T?JP.)!^#;*\^.IF.F+M99VXUP7/Y>),=QV5/^OI8!0UJ\&@M-UC;='ID
MP<>:>2TY[!+B,>V6OL[=K4\C0Q=LRJ<LH6\[7W'@0I1:+XC%$LP2-K]:T?3
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
M+KZDH_56PI"5X>Q-%O/=W")?M9\&A9IUO9^MK0$[Q&VM6%>6R9\<+?5B/M%
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
MQY&[TF+-+B DYRQ-!TT>J/^0X_;L#>U6[S!"9@T"]!T5K6,B0 L9[*&-\+5
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
M,:?*XE J%J9*= PH]<([X5]M7MB%$;K/V/O;U#N8*OL8TCID(K^6*I CP\B
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
M<BC+^]0*0YUK#-_$__F_4$L#!!0    ( *N(;5C?U)7ZVA4  #=% 0 5
M=&%C="TR,#(S,3(S,5]C86PN>&UL[5U9<]PXDG[?B/D/6LVS+$ON.=K1GHFR
M#H<C9)="DJ=WGS8H$B5AFD5H09:DFE\_ *_B@2/!HYC4=$0?=C&1R$Q\2"2
M!/#+WU_7X<$SX3%ET:?#DW?O#P](Y+. 1@^?#C?QD1?[E![^_6]_^*]?_OOH
MZ N)"/<2$AS<;P\^<^8%G 8/Y.#Z9KFB(3DX_>G=AW<G[_YT>OI3Y?/1D2P>
MTNBWC_(_]UY,#D2U4?SQ-::?#A^3Y.GC\?'+R\N[EP_O&'\X/GW__N3X?[Y=
MW?J/9.T=T2A.O,@GAP>"_F.<_GC%?"])9:X4?[WG8<'@PW%9EY9"_NVH(#N2
M/QV=G!Y].'GW&@>'N8CR,Z"2@ORU19_K=/+SSS\?IU]+4L&(&EB7:@OK'1QD
M]N,L)#=D=2#__^/F:UDZX5X4>WYRE!#_\9W/UL>2XOB*"-'B<Y)X-(S/O- _
M%96GC)+M$_ET&-/U4TB*WQXY67TZ3"2;T_>G'TY.,TO\4<7E>""A>LO32Y0+
MCT<"Z?$UX;>/'B<]A-*RZB'>5]$3U^3.>R7Q;>(EFX3Q[1V[6*V(G]!G^>%&
M=,8;XK/(IR%-.T0/%7I5-XR:YV1%.">!^,LBCDD2+Z+@BGKWHKJ$]@)-ATJ&
M4>F,K9]81*(D7J[*GR]>GT@4D\_"GZYH,HQ:+A7U4&WA^WQ#!FH5 [->UG\6
M9F"\+V+:7'H(=;M9KSV^7:YNZ4-$5]3WHD2HSS91(OS&-0NI+VJZ(:+23=K)
M!)7L86<L$AS]Y+,7RM&@CT:#B]##'()G+"H,9#0AO0U99\@]\^+'RY"]=%(0
MP'0,D47'X^11]#/A);.>=\7B817053&".LLG&>.)9A]4@RK7@83.X7C[2(0/
M[RMK@UE51%^$/)LP%?Y*_+U6$7E-2!20H*A*"ME=A[32HMJ0^;6J0AGR,EY7
M2M84BZK2T''EQ?=I_"@"]P?/>SJ6VAZ3,(F+7U+]4]WS'_XO&P$+IJ%W3\)/
MA_4?$YI(I8H?CR>3\FPCANTH40K;^%:3N?PVA>C+Y)%PD_QZ@EP)%4%=DPI"
M%[RNE,?]@IWX8PV>[2E'3G$<RX%"<CNBH@,7Y5><K77F9@ ]*E)^/*@1'B3L
M0%6<\8#P3X=_E=/2%T(?'I-\CCI%0UYS\N31((VU&DVH^I0K7?^$L-D,LIL;
MK%XP;ZH_HV@J.=Z+H%[^[^+_-_39"^4@M$C./,ZW(M3YAQ=N2*,-G<KD!@*6
M0=CJ7;0UPP'(,<?)"0J<Y,&O"'E](B2^#\EWDFA&&0!I,>@821&"P4$W,P;,
MC/*F/T71],7L;BLD;#2UZE.N?OT3PJ8TR&YNNGK!O*E^0M%4W]/I9T!VJ-)$
M4G;"W!0F0H2-"M;+W,0F-GF#_\G2X/LW1\U/N067J4=2!I1(1I]4-M$JOF%>
MT_Y<F]I4/T\\N]$J8J1ISW'T*NT??0IY&4PA!1YWM(WY3I5)CM /*!!:K)27
MR\FYO*TATTZ8F\5$B+.QP:I96]S$"=7TZ6N4>-$#%0-$*>'%JQ]NY*[P%\:"
M%QJ&K9@)7J2,I2!%<(*B@[I6>,!XYD#Y"PJ@:,"@L0#V1NW:<*W&P3'#N>;L
MB?!D>QW*;9XHD+/R)[D:WW;?$-)R/<M$BK-A'=2S-K:9%ZKX,M]RB1[2A(D;
M*<UR]2/.W$LS1H/0%K&:F18G!EP4M,=N9F8SFDRYQ*^[^90B8,7A\RJ)!*)O
MWB;,_^V1A4+ 6/;39-M /90\MXF=? J=K5I:]<*BR1T7W6G#MZD\JC5Z/4&N
MB8I@NDYG,#P#*%/K@FU>LCNJ>*@VS8ZFVXIAZS6+M"VJ^UQLL+0^8VU-BR*
MMFQS (XC^VG(&YGT$Y&@2'1<^/YF+54B@9C84I\V0PIX@=Q&D )8F]]960 @
M(#Q1K1LL@B#-%_/":X\&7Z,S[XDF7E@!=G.)$UR@6/0$%, *$6=E 1"!\$2U
MEU/!<+H JDEL$Y.IY>K.>VUOPG8IO=N7=2N-%DF]S "!E6L%J%:EKGF^T*J-
M.@P4N[2=-@56/-C5 ;2YD@EP/6.?I@#/V1A@YE.SBXVSM)**(]89L'ZRJY_7
M3BZT=A?12--6!,7&*$0O.V%UBQ2DX43=T;!9"M%/UQ<5VZ8:=JCF2\6AB5]I
M\GBVB1,Q9I9R;[5H<"Q53I.!I1#CI)OF,-" >2->O[=C!TRO7,>?&UY<M06Z
M%SM7X' _D;&J)NKC=:4QS&X67;RC3@K4$[2#ADD/BA3)L]?>5N;FF=.0U42-
M!.0F$0J &O*/C4KI@*I(/V[R0>75VT=>M2UMIMLUMHX.<7N#5(,UN8X5JG4O
M8P2B!H!+$4@<B!X6'10&( 3&%=4"UA6-B#STRTE -<=13"3EN*8BP=KX (4
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
MJF!+(WT#CQ:JW)!:JGEA"J9L9]1HV7>=T><?Y'_N!<>__1M02P,$%     @
MJXAM6'K'4UG&.P  9PD$ !4   !T86-T+3(P,C,Q,C,Q7V1E9BYX;6SM?6N3
MVSB2X/>+N/_@\WUVN^WNGIGNF-Z->OKJHNRJ495[;C]UL"A(XIHB-"!9C_GU
M!U"DQ <>"1 0P+(B9K==8B(?R$P@ 202?__/YW7ZYA&1/,'9[V\__/#CVS<H
MB_$\R9:_ORWS=U$>)\G;__R/__D__OZ_WKW[A#)$H@+-WSR\O#DE.)J39+Y$
M;VYG-XLD16\^_OS#3S]\^.&7CQ]_;GU^]XXU3Y/LVV_L_SU$.7I#R6;Y;\]Y
M\OO;55%L?GO__NGIZ8>GGW[ 9/G^XX\_?GC__SY?W\4KM([>)5E>1%F,WKZA
M\+_EU8_7.(Z*BN=6\^<'DC8(?GJ_HR6$8'^]:\#>L9_>??CX[J<//SSG\[<U
MB^PS@$@#_CR KV7Z\.NOO[ZOONY *:)$@KHE=@5??-@!MP%_J?Z:%V]I)[]Y
ML^UF@E,T0XLW[+]?9U>[=@6)LCR*BW<%BE<_Q'C]GD&\GZ&4*?4V(L7+?0U"
M^S8_1T64I#EEH,):O&S0[V_S9+U)4?/;BJ#%[V\+AO/CCQ]_^O!QVWO_6XGR
MO3F[_R@I5D32EQG*R[3(;Q8W&V:6#/_7+"KG":4\@G<]_",$N4;4<IHN.8O2
M^*,)NSPLMI@:S<\H5CXAO"319I7$)P1%5]D"DW6EAA'<J7&.8/BNP/&W&=J4
M)%[13K@EC-9Z!+<*A"-8O8A(1@?Y_!:1NU5$T @FA:A&L'=%)Z$UNH^>$74Y
M@F*\S))_HSG]X93.08ND&&.A&LCMB'!71$598/)RCR\6"T2'PD?V84:'R!DE
MG\5)FHPU[%'D[(CY1Y26%=Z3-,5/;.ZZH206B)"J<T_R'-G2FQXI.^(-\)]D
M\^LD>J"]622CADP#(G9$.L/K#<Y0QB:YW<\7SQN4Y:CV!3MBZ1 :.P!3_)00
MM?G;E )5/]ULQ@8T4,R6F6?C*8LOYZP#:6=5-E_WFV5I0*3LBD<MO%QO._ K
M)7R5;7MSY]PLFBG3R('NC"@[,,SN3P[L4T!@A"BGF!#\Q";\$>QRD(Q@:8:*
MA* U%?0N>JQ"$2KLJ-6+#-\(1D_BF)3(TJPA039J=J"KSF7RD*+M_/,%C9L"
MQ-A&,'F9/*.Y#?X$B$;UWR.U&TS&1@1#+&.&GW*]CLC+S>(NH;'N(HFCK*#F
M@TLZ-&3+6YPF,:5T,G]$I$AR^M.8D<B8EG,!+Z@I9@B1BFA.(6EP1==4\S*F
MJG]$*=XPGW<NNR8;SKOE#%>3Q':+XV9Q1L//I)@E^3?G/:&F[%SX&>WQK*P6
M1A2*\3%#ZRAA*UJZH*VV!]CJXB%-EIUP@ ;J49D6[OIF-&/!=EUX?>:ELZCQ
M4XQQ<1JEC"L?O2-DP4-WG"=YM%P2M*P'@QK"0Z^H.''>.9\PGC\E:4KGA7X
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
M)WU6Y@5>(W+Q'*<E>UF:#3?T?_/A4[$C,.P>F#' , '3&M\SNN9F1-'WD;%
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
M64D9KCG'&373_UN2))]3FV,&_$#-CVJ]US76\-4=9P&?I_%(QTBP_8YK#T$
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
MU CJ!^HTVFT#P!IYBJ65GHP-Y9;;1;OR( RY[RVE0?1^^G**LGBUCL@W?J
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
M:T'KW77:!#4?Y3I*"H32BM07J1C]NK:D5%P"^[DQ,E?*A+<K-8I M(28,R>
M!IXQ#9#C*%\^Q,4]_QR[XOUC'&_KI)F61?/+/GO6/_S7\6I%=EE97,>O\7V*
MC[,U_27?X?5E$M\G:5(FN#A+BE5*BEV.[_!+>4(#^6V 8$LK]7><;&4B[QQ]
M ZOL;1^#B+:V5J-:#*5[.;_,M448<5;<?=)/-,92@G4\?F#OI$)R%,,,V*\K
MM48;U>HHSM:H847' MJ;0)^9$<2M>*[G_+-%44_ZHTP ]>P-7N'DF07]"9>G
MNSRGK21)9:H2'=288E%'^4$5ARO^2WQ ^"U4W?,W;Q^C=QDN$7E <9J2+VP9
M&'H@.<(O6[QB#=15CM=)B2AF"LIK*O</__.?_\1Y_P\__M.'[\)@M!(4 MH"
M0#2@I4A#Q+W%,6=4Z8 ;7#)/4Z'W08B]MP,>35*W08^GU/PQR9(27R;/>'V1
ME;3,$U:ET"10%C3:W6:7LO[K\8;D9?)WOD)V -[I!NIO.,6 )=&FQZR$HVJQ
M6Y]_DP)0D7*"P:CS ,6=)W[I:H$GXJ*$^\PVM]/E^T% VVF79KI[M^BN.S*5
MXGNNB?:JJ-(]0ET*''_U%%!T6Y;F@=_.2A/15?F$\U.RV>;X"6<%C?\B6Y$-
MOJ2M9%IS7SW<Q2_C_LL4[7V7QDS;OL4Y)5H''1]#MYH&J9&U7L5'F 9:=55X
M)^@(U?VE,G[QWGZ=A"AB7<RC1JZ)D4&[UPK62_/^#-/P5@G/1/3?*6;_8.,L
MG0QUG9,MSLO7:XK+DCX[_]LNV6Z$ QI.S8XSA:59=RG$R?LY:F$[# N8>^S<
M1)>X*'HD0^N.03X2$TXCW3FHQ<G*)6'&6<S*NB2]O0TNNI[E<!K4$G3<SX.T
M;.S:.T*MQ6IJI&/S"#56Z;^8W2,NTIK^1EPC]!T.>WUV6=;KA,46I]=Q0KM8
MI_$V*>.4-K,V)+LM!4L6P I-<P.@8)N\P#%99R2()V6:T1N(]C)H2X7>)QE:
M56*>,P"\Z,F4PAD05JO7HZ(YRA;A5S<O#- K>E1_@OXC2W:(_-CR8&!3A?B>
M:-3]BT\A9H7G21YA,1#UY^LCM?=.'4PJ2W$1]/T<)QGK'E]EMW&*KQZ:&FB
M%)U8_;IR,4N$ZOP[ZM@IW*@ +%6+V*^(E?D31NNDV)*"IFSR@!Z2%S8QPD<I
M_8);6[($7@I]T,NDNP18'#!.>Q\Z)U,P4_<.V&/TC@E\Q_!SQK'#ZR\&GZLD
MY0W_G^."__<NV=SCO.T<'#ZB%,UT&UAY;48_TPB2(LD>SZM*;=1LE@FTS>2Q
M@'6S6.;3OADLL*QN]HX4HLYO8;0$%&5$(%]UV'X=RO7;J]KB7AJXIZ0HBVN2
M)JM7Z7IUF/08TF)I=_A61>,0[!(W0.0+M;LT" ;^RL(5<P& AS$Q1$H2EH 0
MM QEFF60'TE^1G;WY<,N'2_/DJQ1G:+;T,E,UY9<4R*%4&TK.XILP#I#_TH.
M&MF*3N*4"1^A>_R89!FKGVBKK(K;,T4GP8=8ENJ OB8F>F0.%[]&?8:M^"!
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
M29RN2 GT"2$GR%0(*_0GX4+ R FX&C 38D%$TTFP7)2N=\TE:?W,(F&H1GI
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
M,+*X%VNC"P*PS2HCD]&OE+I\K(W/\VY)D1S(B($45H;90@-/@RPQM&2:'8)
M^>*M=ED KJ%NW&IG#_867@^HS3X7-2S;[*[Y$7B;_:ZYO+>07'=M9\2P^AP:
M62BUB&-W=!+^Y"!<Y):!T<'%V(>1)"3(FI FE!@US!%]6U.R1!!@]U*3BD-P
MC_=IM2FW<80:(P=6I<[%%@?5JFO*>*Q:V0+K%<O\XBFM>KYKP%0SI?H;0Y4L
MLX=9;$YZEV"7JL0 -!+QQ^_OV?, ;],T1 :96FY]WL)TNSP-"HQ.JRXSE_:(
MK*NF"I9<"-47):-C=O/5(V;_/D+G7P,\%77+7!CUV2W;;%/RBO$MSI^3E611
M1/T6;!+H@=6#U?&RM"62D#5;,%%<)AF^*/%F--@YC_6F(^?:NFVC=YZWM6X(
M.P]+V3AV[*U7679M=%,3NG]%7;DV>WV)\_517XVO'_K,'"#NP?>6[)DH0F;'
MY:#=[=9)KT$^,\_#2;2T6U'?LUV=V:1KQ+LU:I)6 4:7R*;@=W,S!>4J).L$
MJG<27;0SVNB^$D4LXU2'TP;;^7",:-,L:,H5D^2GM6V<\PZ%A&[']9R&-#\3
M#3M7U;A?;?(;%\&P.@Q">NSIB2,>\%XM5']CF9!EKE'[MDT;4NNJ#"!1"GP
M3U.(!/K)^Y02RW8I L2%1[1+#G>#"2O1[^PH-E@L\[ !>'":1EG.CE".00.6
MMY8HZD/+U#IZXO@]8NR,=AZ*,EF=DEU6YJ^_X,W]^#)5E4QS:Y-8QO;"'95G
MZUMV),:55^L(==JS83Y7/WC&O;J\"/#S#N[%$8GV;L0! 6 13'],LJ3$E\DS
M7E]D)2U*MAVP.JWJE_B_27Z:QD7Q*=Y@&G.<#-M&$[7KSV6L;<F0B=':<L?<
MK8I5IM:B2N$]UT![%53I'"&NA;@:8GKH<Z7IF9A3H46LR[M/9D,C79K;XMMW
M CAYW8=Y_)(,9[(F:.J)/]:<C_2R*&<DO,#E1+*/+&F(SN:#NE3_S)3"Y;@4
M03!^:P"HY_;0 )#76OCZYO1HRDI/9MDL%TQE/OJ.XIJ1MY? J5Z0"1U3PYF)
M-4(%C)DR-.DI>2F:")T$0M\D_+AC%XUW+\*LQT(E@S$N3.E)"S U'YG![S$C
MR2$Q3"2_WG14B?0N*6[&3H,9)7("1%B>, 6V/G]H+0+SBCE/ELDWU4U5I[L\
M9SO-[O(X*V@P-#QV&AK_LS[(27U_H[6=)M-,MV.;9FS?P,G*")LHE%EFLMWV
M\KE&%W6D/2<6:] 1A^4_2"E3S?7RR>&QP>D2!>LH9J%$O1!!S(O: C\TM&L#
M54;0Y_J_S!KBYGS7SD&02+$$P2^3/"XT^!EG;,Z#QG>\WM"6!6LGL.U4XB6,
M0.GZVVJE+?,',!K;!*%WH\H .NVH%N!DCGLB?CD++6MB7"!]ZFF4N@0S!50(
M#!+.Q1KIP-CD:*[6*+*9F06:RX79Z+&L+]BLY0MDVM<,&G#RJ::%0:H&1/0Y
M;?PS)H]YO'UB<]@9VWR=\RKW)BE^DU 1*-_24"MO34%@1/;TTSM24T^G'^U%
M4$\&,:%@& =% )E02$.F:=3Z+#.%VC(,(V3])4D9^X<#4.KQ&W/%AG,&BK;D
M,X[1FH4F'I5TA!N*&EE>'R;[>9Z8BWOFHSE,B$T!#A@*UN]1=3I"E^%L3HKB
M.B</R7 &1_"D85WWB2VMQEZ<7$[>MZMD1T<RXG^@+?_+,]@%GY\HO]L KGN!
M'A[G*3MG@VX#F\""^W"8)2<9<](7G:<QH6HS(C_,E>UVDDS]:J3J=Y5*68)2
MX]T6GW+S*JC*M*+3JT^W5Y<79\=WYV?H]H[^YY?S3W>WZ.HCNKH^OSF^NZ "
MP<REZDJ6@(NA#WB)<!?\4+@LR(.[^.7\)::]7-[XOL99G)8)+JJ:'E.8EL?L
MBF2\%O+#6+O'&P-M)WPRCM8-STS<ZOD'MQ;5_V M8/Z -X>WC0;*<<J.@^$
M#?$<X:D0&Q%X*DI[Q 8;&1-^.LZ7301G2;%*2;'+L:R/"Q$=4EPHZHK/BCB<
MD5?L \14D6KG- 3?Y_N#BE-$)WWQ#[DCT! 2!8*695FA'O71B0W9X'I$1^??
MR9(:A1,0#48#- %2 ##X BSK(?05 RN+P\+IVA*=DRG8J%>&[ ^D/0IVV8<+
MZ"@6;=C@Q^.2"QI2CN,"G^'JOQ?5;4U76\S&][/':MAPG$4-E/8Y%:1D3R6#
MV!P=C@YVJN$8Q$AUTQ]:\84]52<A)=GC>UHM;((8,C=$!YE:=B/^ 70'; P'
MD*XSO8%+>TSN:P$NA-XUXM_1SFQ](U^K4F_?>=L855<4LP#5=R7"ALCB])1L
M-B3CQU(4QV69)_>[,KY/\1W9'U51'V+5.<-*6,$X,=BM?"P-NL@#3M[)52?!
M/AQMZK!S$!VOUW]&9TFZXVNC,#]>G]V]1W9E4=*:CZ43_+==4KZBF!W86M *
M$*TQJPJ3#*_99E[*%%0RVNSR5U3P6[LWN'PB:_2.YB9^I&'Q70#)R W:AXG*
M)8>Z^<O*[BBW'3HQW5?>3L*9EYW=2K\RA"I+U?%%!>K:8D7>\OB\Y;'F:,,0
M&@D!\E+7N B(G%X;)?VE+Y]P>?ZR2G>LTFA6R(R:'7"5MF$!4;'.4/"X'#4.
M0 [5"09@(KH8KO;BU^OZIKT!"LBT4AJR5J_9YV4@H'-<\<$=VB*OK;Q&YSQ1
M:?2NE6]7X'EO(LZ'265UXAZ8'JL$Q6YUOM!IP 2HN/[,B%I\OG,A>O',>/9#
MXV?B^0Z5>KUN+MZP<_V"/:FA7\2PTQA$L*BII-,"GJH@1I)O]E">FY_)(E#2
M,ZFG-!^?!+'-R*J^MXG<ZAJ)+M:T]9T\)+SO-5I2'\SB/D-TP$@HQY6>BAU=
M("%5@%QT!\P Y)(6I[/FX91^!V3GB88 ^ZY#\Z\P]H>(,*IN](O:3]+26:K'
MS)>WB;?;2Y[N^\']I_:]#Y$W9_.U0^N:#D5/.FI^"./0?EG!$.W7'#7VNT*#
M=OV<I>NZ&RFR;5# ^\YA5<I!7%YI7LKJ?AVPJ/T.X/%(JE4SS6'@9YBO=Q[/
M&$*$!\E*)NP(W>I87.%<Z@6">(GR'OL)%P@#^IJR%3 !A(8!)\0Z(HH X;,0
M69YIBY_DK[0].J+&^%%+A.XC:]B/_=B#O&=3#>F.:-3\E?A?L2KX^D3]U8;
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
MP%6(R5>R^0TLKTO#SK:\@2.:-R$#=[OI]7NI.9B=;O!RAU!*O;]-JP;BU7(
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
M\5< WIVF81VMG"7<D2.W^?4@R!M8VTX:W\+\G:7EUGK9M]V^I00'L#WTO'#
MS:R/)'_ 2;G+\5S-+(4'1\TLH0?/F5KQUH$TL\01SIFF11ZC^L>WU-!2(=YA
M5M43RU%"%3ARF5 /A+Y!-;04\2W,X!D:6ATO;Z6AY2\ES-C06CXO''!#J[-C
MHYI;=MS,DMIWU,@2V/><HZ5O',*6)$6,<R;HL3_85J$WT>Z24\!ABM7QS%%N
M';EQF5D/@,L3]A?.M2E;%>*B7![N^QMOF/Y&8WO '3*//6Z-DX44QCXW772+
M\MC=#K2VR]3+"Y67;TG $JR'G @.<>?5^%T&&\R:%0_7>3+*7PM[==^I4GL-
M)ZM#ODZ8'3!-Y M5 <HHOK)S'29R;YX:P(#V[JL$E?.9*HJWD'""[B7J @\@
MX>A[E-]RC3=,?RW))JA.JRK04+NRD)@#2#9S=WM'AZLTWA%W_RUO+<B.KR5W
M'7 _NWX/MJMUE@E)J7VWVSR[]KVOSI6\<4@;.'O1+;"_JN,ONNKOP&2/WNPL
MAAS^[K<\23GF=FO3WLT,^YA"YG%02[^DT2U*YOEV1E99X2W,8?A) ?-O<5PH
M#QSP8J_.NRPXAV'HU7T[+.@A1<.O$U":]SAQ 8T"VK1[:\.)II2;)_$O/W4!
M=#Y3_6"49\*N,-JS4H^+8K=I=YCA%7V]L^0Y65,.W<2ELZK"U)]M)0'WYZMZ
M,/TB?COS!M'.4B^ _4?-7^@UP>FA;M\PIHN+!#^1H[:I'>K625)_.WDAC,$!
MTVB])@=W@P?[0_-1QR??J\^]HC8+,;_?DM#,\'_+F>@0AR-4[_87DE(S:5*^
M+M6^%'N<LX4Y]!AB72+^*D%6)*-0%Z]%!A%$;9Y_;A^\P20O(<[<:5[)USES
M?-_Q[%E>DR4.+\7?),5O'W.,+S+:$<5%.7>"5_F;([V+_864W%5?)*C4+@ET
ML<0N]!^Q7]\_T)]14O^.\K?5?E=29J[$#N#I'&E=Y':VI [*#6&D]$+V7OQ_
M[FAHQ]GZFO+P4[S!9V03)YEI%K=P 4W<DUS,G:LMWGOV]#PM-JN,/,5E5%]O
MR$70Y^K7_PP\!=O@W23KVO,*FF@G>#+*K2[H&T8ZE;W(99+ABQ)O"E=-X)%!
MVS9NQZ"O1NSHG;RU4KN1S-(,W3NH1Z#O@2/0]^,1:/2964/<7.BY$0YG%^U/
M&4EL&YBM72<M2#GSELEIJR>\WJ6XOF=J4IZ^8RLBAJG-M=TFP[FS:YOH7+^A
M=;YS&) R[3GS$S6FV!HM2"8L-*F0F_6=!9TCG\P(ND%.=&6^EQIGH^PR&;*D
M_7?: KVDUM/_O<N38IVL6-R_8-&>)9ATD\UTTK8Y"A:-FP5%6E_*I*+1CK@
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
M78+/KSQ%R0/:&PPRET!AJD\J9H!79Q>-+4":"9,Y2_0F@"&XIX^N3U!QB!M
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
ME1C9UZJLQ19V4TT#"P5)08"2L%.LJZ*E5R3.VJY3N[2'H[2EA_KR7PU$#=J
MKG#JL54H/L'V_&65[M9X_9%^<7:Z^:[D\5X]#-_G>$-VH_EIIS:5ISD;VYSE
MR.>);V9]ZJ6C8,P/CS;UP4^8?M\>,5VTAA"N+2'&;39ZT=AB\YBX6T_NM7ER
M>I?4HQR%YZWK;L&N/;W:CD5U'G-B6G\.MBT[#R$!GKR*#0BNW5O DYMDJ?;D
M-X5"OH+GQ*H)<<9TJ_0L.^8_B(L)E^"&N]QJ0$4W&5?ET&$>-B+^(63G2\F!
MHJ[-NLF[E\Z.)G7]?IXSZB7PD%-G;J2Y\KS77CWMMU<%?>AP#DUU#GEWZ51&
M)S>Y\U)T1NML3/4RX@L<XP6.ZLXV>C;3@EJ%&Y/A,9.I]<!F5$P&O<Q&8B%C
M6K/C9;:Q5>A*6KG>(8WE3T$)<"#4!":>!CIO5T]XO4OQU8-E[A?>G3B+\>;6
M$\?&;6],F>5=;:GM/"KE32UNG46-/=:(=-;R#.%*C)EX0>9&X^"*&J<^>M?;
MS$MM+XW1:Y(FJU?92<! :4G3="3MN,4AB<9UNV/LQJ3U,=26M%=Y8R2L%HBL
ML!4-$34^),V1@9*J5:)#U+(WHW6/8Q7,(&CEAO>DC>5<79<FB\"Z'E<X %V>
M-M(;'?(;P'"WOB!%-ZEI2KVIK63BPGO5M A9N'%^OMFFY!73.C!_3E9X?X5Z
M]Y)U=JK?JJX)V8J*QRSY.UY32B>DNGE=W4:?P<>HJ>[4A[,6^PQO[J[A[C8X
M6/O=I<]>,[XQC&K+5:O\_3VSC;K&C]#>/%/<.T"5!\1=A-:>GX-#PF;]?&0=
MM>X=NA(W\N=,"@OG:>EA*NK4"U,;95.=FK,$"8O/7<[3^H.E,8T9]3E#H:46
M($:$V<((7Z,$H-86<]H0FLM<!<*G*GB;[CK.KW+>VEOS,]";?L^ "08:S64A
M$ W;VT/@4=E2$N9*>;\(P$)T6D\B5<?R;^,</?-SZ]ERQC5)TSCOS"1X7MEH
M@@DRJ= &-Y7H%7M7ETP H-]S).M#QL;]>@,-W<F178VYCN0;1S7;,7P]5Y..
MWNM8B"Y)]OC^,GGFAS5GCPE+ZOR8K" &!4Q0 #E13PJ>FF\ 1=#Q>0K(^>7;
MI63U%UQ!Q[9+9RNVX#'-QK5+X"HK@ %=@_,RE%51!E" 4$X&(!WC+D5KE":@
M;J'1ZN'1S:-A:IE .SX]%K >F);Y=')>D="\>CQZI!#=,2]5TZX];QSS9[Y'
MHZ7E12!?>#C^/)3K#SPO4/1&"X:V?&3E/%/>U";V808 MEHH6[-CB^[CE-U)
M<YBE+ED29%KL]B=6C6T:'5=5E3OM->2E6<GKCJT2:40G^#')LH,O?,F!5::%
M/SZNRK[PV2;:']U-0\K,FY5\I155?QRAX[+,D_M=V0PGT8XKK<\/$PJ][VT'
MA]J4YQNX+I/X/DGYNAMITVN QHG:XWNZ8-KN;ETRB=;) 1OFOH'7,H&L16=X
MF^-5?9(!ZXS$&Y*7R=_Y#\%<SV2$(?&-31-@6)/6T(CD2J<0@3S7C6(FOAVB
M673O6$?O""D[WU\;V&$WELV,>+_WFI$-IG'6QX6>X P_),.*3".UOZ=,+&5_
M'YG*NQ)V\-NVY5XTUXP)M:+J ;]$\EU]_O!WZ+YZZOW",&5A$O"7'UT )A(>
M7/2U)$+<'DJM<#(!(1]Z$*D1@M[5"/$\MV</$4E.G8X1^P$!B6&G!UEK?$S
M27VH=8T55IF?-U@Y>2-841QU/1TO'H^]KF_V/N47ZZQ>[_(X*^(5ZTK\'"<9
MNV'ZURS'<<H6;@VP.D6U_F)FJI9<FA*GHWK:T+6*<D:FV@O;5[4X*O?RB&VL
M\'W0_"3P$+M"[=/5Q$*7P\%BUVG?<(IC5_"M>X6=S\]DT#LF]=U14W"HL84Z
MQHYHL_6!/F>5S]<#<$7'< F4>^P27N=U[Y6/Q/(54Z,5$E*)=DF$0,)Z#834
MJY,Q2+%]]5*'L4;4_E@MX_.]@$%>4@3T:8=+%$:"_34)BQ2[XSM>I?8-R[Z]
MM;4!P&VUCI,_/$(71;'#ZT/%@_*^55-0^#S1=K5BITD6-WB%DV<VT_8+WMSC
M?( ^G5ASI)=4S/:(+HU_ZR.WY/:51VC)U*+F"=H_0I^KA[Z/MM(5)8%_]L'1
M4Q+IWE%24(0LNY6XFEEE&XM(1O\4'4@*DAUN*1;+NMI6K(K$V=9BB1/0]F*A
M;CV_C_8_![&@&%:^HIW& $"T4_T*%>&.8Q" EJDIUNN$-<[C]#I.UA?9:;Q-
MRC@55Q<0V:;.4,O:5AR02*QK#XT3916BU(WVCQ%[_IYV4FN)4*H34%$3PQ(9
M5"PJE5[M8H2E16AS@TO:F\7KYB@-(5_40O7'D E9,D3MVY8:4NLJ3DB4HN;W
M_0E.87! 4WP$^K'[J!?+=N$.1,12'8G=AEVAA=?\PB=69>7X"6=%\HRK20E9
MS\),;]_5@.K9]SW,(G0R_&+B5=-% =J).J*(RZ*><#W[5 ^2!D(]<_@0BY(=
M]7=@ZH,.4&BX=3I^9.S5"7CKL:;CJ],+R;+AKPJOBM&I>4'K\\;.?D_IC&QH
MW3B@AE*F.45/+&-[=I[*L_6)>1+CRG/RA#JCOCGZ7#WQ?3JOLN (\#L/SL$3
MB?9.OP,A89DS*JJ.#%_30;LX[!I-2CLV<[8^V96?2/E_<,FZ/ /TF:HUIU6
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
M9+UARZR2TFY?]:M&>T//K:VQJ0/6$2SRH^K\EDV3G%Z0"Y_W<$U\WSJ#F[@
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
MM+T)822VNGY3"=OS 3^[DWT5B<88K"?S/"""OR@]( T ;1'F*& )FZ+)N1.
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
M#.GV,-UG+H?J;IL1KLN'X2&;U8=,;/,[FXGN#CD;WR)0.$1X*?8LW>"PF[<
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
M\0OW*,:KK,92NXA)VM1^NMMF7LW=78@C;<]*,!Z5\]-K4&3&\8[6\1Z0M_>
M#$:H@WM &N-RYGM &O4X7(_&T&]L&IBL4NTO54MCW]@TOI?M_5'_[Q_?S6'_
MA-4YC_L_:!_+7F0NHW6CT_Z)A-_#>;]]LY*>^&N<BXIMRT7.WC7K&7&S?"Q.
M)M]U_S5QY1X.X,7VXZ/BX'O'@*NAVJ^*\W&_CV?%SZ+B^3+%WUS7@MG2(;\I
MS 6=7A!F@#I:(%!*[G+\FA"]G6Z^%&AQE6V?=#HA2Z37I$RX-?OT$>R6&LH(
MCDLIC0<D]!6EM)I2[^=02N ,M@7IGEX6)RD:</:(S4;;G%VPMJBM=>'LP QT
M) 8Z]/+I6&M6.\! J0S'_1PD;8_ ^(=<8;F(<T1(C9.HW7<\6>.\3/YDV24
MLE6#$/)@+10NG_V8J9 >_;6.^R2<\Y9<V)LB0.BMZ4J@#]A\5>2T+Q.6T!1N
MGOVG*,FH7&ZSARA%MTLB&2*+R8:W#*Q[<)T+=K#V"I3,?@R53XQ&OKPWF2_\
M$\J.WR]9CJ(T^7.RP:[3M-686M.#M6\#">['YM4(U$B.]V8<3+?<MZ)I<VLX
MBV/UAMR+V?R&?DCD)(YQ14R,&!A*7ADE_52:<*7 :N+149Q4N\P3(JD<9 =R
MO&[9QT6L[L)^%7PB#YIULV-O^C(XM %_-$X:!&^%$AG8M<%I9QH+4H\M\"I[
M)<+">0(P/@8LU^X&L,&;')]SN]8VZ$=CR>BQH=WEZ"5*%O4[LE)+8P%S36T(
M'+RM"7BW:VS#CD)>_G'<]FY94!2H!$ZNG$;B"7;2*'@K!,ABAHEVTN%A+<:Z
M@/8NVBBM.T;PTD7'%CYX,Q1+8)[EQK8O_?N_KO=LF<SE%:$^B9Z2M-DAR1;#
M,=?[!K%,#70BPU5"=PAVK2\_ZV:O1(K&/6"?GJ^;>S=4>R=M/WNA*N2%6Z[4
M+&%K#YE"-O*^YB$SR"K]< %JIV!JIUX&.PRT96,IJ1'<N<V7H-SFQ/.3H)7T
M 7(ZHF[5-#!Q'F$EEG$8I7MQA4D>-P"!V)D($;B0%%D9=3?WXS^J)$==]L!=
M&F4E"1OI78L7"C*2D'K#5C(J#7USLQ#]8P/9@-RL@ @ZR%4Z#_GH#2X=[;&M
M/::#M5QMV=BP7)7.#5Y</X   3X/60D0A-T=TNKB,LDBLN32#Q  ",3.1(C
M28"0XQBA17%)[/8ZR1"]BD@4/$EUEL)UTS\?SC>?"5$FAG,.<I&"/NO)G=^7
M?J#N>FN[BUCN4?TNTR/6*^=GBF84GZJC"=5^[<C-BGEKDQ)R"D_']>WR&D?9
M&2XF!]L"B)'5#B "-T@^MS9M;="+<8+.H_L25T!9: <TVH%,L :I+1L;=JK2
MN?X#"8>P*H('WU961<+N@GST]F*Y1#&1PL5;_!QE*W1/Y'*;4=[IOW3?Z#5*
MF_FY*[9./YQDB^$//<B1EYFQA^[-RCEZ\'Y$S"]7M2$S"SU!/O]BQ'-3$'=Z
MP!^G%8V'^])M)#X:;FXZ[^K7[;ES[P>I4VVHC=]]DVKPUC(W< E@?-L<KC9'
MWZ$/)G=CPR0%RX^7)[TQ^&G!U*/)*TC+A=%K9)CZ4-?WH7IY26OI1&DGG:ML
MB?-U8QZ<2HAJK;KB6M!6;I+02T3,IJ1O.Y!5\22GG/EUFR(^^NINO"DJ!LM8
M&PTE&/HF=7>$-LALJVV%G.9MGNE- ];7W<6!X=>PK$+$FH%5C- &><3>YI[7
M59,6S?M[A#%:L&-Q6I4WN/P7*AGFHMIL._=#FX5D8)K"T+8\>'^6]S<]C+;T
MIF^UJ K<A\8;9MS#?0=%K<]1$>=)_9[S[?*T*FCF@DXAZY*BII[F _FG]C;T
ME]^9Z#E1&0AV6Y!/".OD?"^BH_)VV>9LXVQRCL<%Z,[K& #.!B-,&QC UG#@
M"?'69SH,?.$6C7^HUNLHW]PN'Y)5EBR3F&;Z-G=?Z9.@.$UB>C[HH@KTA I>
M+6<I8%>160#H8D2>1D52T*I[O4&3+82*>"0Z/B74?!W)P :J5DIFJ-Q=Y91;
M ;8JI]$536[WU&>8=6LS/\^!B^G7L7&RQFRZWYPG19SB@CAO;MT[*>1V[2F
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
M_QZU-M=LS=_UAAQA6*9*L*]]" =2<X?D\T9T>PKCK3,1[M7W.0XYYMO:G._
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
M1LB%XB"0T,B\;0*)BXSME#U<Q$Z70=C&TD!O57O=+\VL1<2[WG706_!:VX
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
M @!E9C(P,#$U,CDP7S(S+3$N:'1M4$L! A0#%     @ JXAM6!$]IPRG"0
M'S8  !,              ( !OYL" &5F,C P,34R.3!?,S$M,2YH=&U02P$"
M% ,4    " "KB&U8_;3Z?,4)  #S-0  $P              @ &7I0( 968R
M,# Q-3(Y,%\S,2TR+FAT;5!+ 0(4 Q0    ( *N(;5CW S&0K 4  #\>   1
M              "  8VO @!E9C(P,#$U,CDP7S,R+FAT;5!+ 0(4 Q0    (
M *N(;5@GRDTU'!4  )1E   2              "  6BU @!E9C(P,#$U,CDP
M7S0M,BYH=&U02P$"% ,4    " "KB&U8$51]6A!8   O"0, %@
M    @ &TR@( 968R,# Q-3(Y,%]E>#$P+3$V+FAT;5!+ 0(4 Q0    ( *N(
M;5@[*3N[EAL  +:J   3              "  ?@B P!E9C(P,#$U,CDP7V5X
M.3<N:'1M4$L! A0#%     @ JXAM6#,$B\!+<0$ .+@!  L
M ( !OSX# &EM86=E,#$N:G!G4$L! A0#%     @ JXAM6%:,\S[7$0  /\<
M !$              ( !,[ $ '1A8W0M,C R,S$R,S$N>'-D4$L! A0#%
M  @ JXAM6-_4E?K:%0  -T4! !4              ( !.<($ '1A8W0M,C R
M,S$R,S%?8V%L+GAM;%!+ 0(4 Q0    ( *N(;5AZQU-9QCL  &<)!  5
M          "  4;8! !T86-T+3(P,C,Q,C,Q7V1E9BYX;6Q02P$"% ,4
M" "KB&U8&$Z),;3-  "1(PP %0              @ $_% 4 =&%C="TR,#(S
M,3(S,5]L86(N>&UL4$L! A0#%     @ JXAM6&9#%_Z]9P  EE@' !4
M         ( !)N(% '1A8W0M,C R,S$R,S%?<')E+GAM;%!+!08     #@ .
+ (L#   62@8    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>ef20015290_10k_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/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:tact="http://transact-tech.com/20231231"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="tact-20231231.xsd" xlink:type="simple"/>
    <context id="c20230101to20231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c20240229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="c20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20220101to20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20231001to20231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20220426to20220426_PropertyPlantAndEquipmentByTypeAxis_FacilityInLasVegasNevadaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FacilityInLasVegasNevadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-26</startDate>
            <endDate>2022-04-26</endDate>
        </period>
    </context>
    <context id="c20231231_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <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="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <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="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20220101to20221231_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <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="c20220101to20221231_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <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="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250101Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2025-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260101Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2026-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240101Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TheBrightGroupMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:TheBrightGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TheBrightGroupMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:TheBrightGroupMember</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="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</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="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</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="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-13</instant>
        </period>
    </context>
    <context id="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-21</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <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="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <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="c20231231_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_IncomeTaxAuthorityAxis_DomesticCountryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_TaxCreditCarryforwardAxis_ResearchMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20220101to20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20050101to20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2005-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <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="c20220101to20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220401to20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c20230401to20230630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="c20230101to20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20220101to20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="c20220701to20220930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c20230701to20230930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="c20221001to20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20220101to20221231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tact:TheOneGroupHospitalityIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tact:TheOneGroupHospitalityIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c20221231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tact:TheOneGroupHospitalityIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tact:TheOneGroupHospitalityIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <unit id="U001">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U002">
        <measure>shares</measure>
    </unit>
    <unit id="U003">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U004">
        <measure>tact:Segment</measure>
    </unit>
    <unit id="U005">
        <measure>tact:Solution</measure>
    </unit>
    <unit id="U006">
        <measure>pure</measure>
    </unit>
    <unit id="U007">
        <measure>tact:Plan</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="c20230101to20231231"
      id="Fact_541b0204900743f8bc868d11a47e82a7">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="c20230101to20231231"
      id="Fact_762eb90c49db4589bd937d8dc55b812d">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="c20230101to20231231"
      id="Fact_3cd0f30cd8dd48d4a088a218b9c9ae75">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="c20230101to20231231"
      id="Fact_4fa2c0bdc6d14ee5b7781a5ff095ba0b">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="c20230101to20231231"
      id="Fact_da45de16188f4736bac9d4d7dcb032d1">0001017303</dei:EntityCentralIndexKey>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260101Member"
      id="Fact_fa4f9810fdc440e7a6f07a14288bd412"
      unitRef="U001"
      xsi:nil="true"/>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250101Member"
      id="Fact_3b3b217b82f14d0981e1911a0e683e9c">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260101Member"
      id="Fact_bc0b117592ec4ae9a3df5220e7dbe1c8">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <dei:AuditorFirmId
      contextRef="c20230101to20231231"
      id="Fact_e5aada421f434f84805d5f71261bf5ca">688</dei:AuditorFirmId>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20231231"
      id="Fact_d8bb3ca2c1cc4c1da765250cf40e88ae"
      unitRef="U001"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20221231"
      id="Fact_c72e1b0883654e65a6261fa0e7aa434c"
      unitRef="U001"
      xsi:nil="true"/>
    <dei:DocumentType
      contextRef="c20230101to20231231"
      id="Fact_8db5c915d45a4b5cb241eefc4a86c1c1">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="c20230101to20231231"
      id="Fact_97c5e188225e47eb8231b8c01b9c9277">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="c20230101to20231231"
      id="Fact_cd7acbb46ca44186b89a34232659aa60">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="c20230101to20231231"
      id="Fact_985830481a97403fa5c21b08ea7ba07f">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="c20230101to20231231"
      id="Fact_bca1b625a95d492b9787e46c7a430177">0-21121</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="c20230101to20231231"
      id="Fact_09ce28d5b73844729c5efd702a599923">TRANSACT TECHNOLOGIES INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="c20230101to20231231"
      id="Fact_c6d3e46ed58c42d593076bab124a0c6d">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="c20230101to20231231"
      id="Fact_9677c34288ed4fe6ba9072333b1043b8">06-1456680</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="c20230101to20231231"
      id="Fact_885b077f34b04eb3a464b9c736020482">One Hamden Center</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="c20230101to20231231"
      id="Fact_3b171fddf8ca4a50a8e10ac05a638e19">2319 Whitney Avenue, Suite 3B</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="c20230101to20231231"
      id="Fact_ddb69909b1fc4a7cbde06c956a214457">Hamden</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="c20230101to20231231"
      id="Fact_c2fe262a3d114ab9b291201a455c654d">CT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="c20230101to20231231"
      id="Fact_3a3d2db3ee2746978ac3e910e6fc77e5">06518</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="c20230101to20231231"
      id="Fact_aa7e28ef2c664c1aa9e1d17f2b51e246">203</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="c20230101to20231231"
      id="Fact_f4b050f076e3445b9de2740a48fd0554">859-6800</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="c20230101to20231231"
      id="Fact_7cfa351f69ea4930a64d5810256e9b6a">Common stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="c20230101to20231231"
      id="Fact_db6870cd125d4a249274969cbf321117">TACT</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="c20230101to20231231"
      id="Fact_8867849620614571978db4bb76b1e537">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="c20230101to20231231"
      id="Fact_e5bc5a0382a24969bd743329367e406b">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="c20230101to20231231"
      id="Fact_4d31a3612dca4ff58948ca1c8d2dd9ba">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="c20230101to20231231"
      id="Fact_2c210f0dc2d14669b8981f89a9257226">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="c20230101to20231231"
      id="Fact_e9a18cb5aea84a9687395d373c2a7538">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="c20230101to20231231"
      id="Fact_c8a74416d31c4a46a8ab29ac7c999d36">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="c20230101to20231231"
      id="Fact_9bc31827051347deb9cf2ec4b302a8ac">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="c20230101to20231231"
      id="Fact_1693d66361044417b60212f9005fee71">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="c20230101to20231231"
      id="Fact_9cb18de4c2364d27827193a0bc24ab5c">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="c20230101to20231231"
      id="Fact_272903cfd55a4e2abe938fba5d090016">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany
      contextRef="c20230101to20231231"
      id="Fact_21c93015d193483885608af485acea22">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="c20230630"
      decimals="0"
      id="Fact_0521a2a6a46b4c259e788eb5bc9f6d2e"
      unitRef="U001">78500000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c20240229"
      decimals="INF"
      id="Fact_bb2d981e260d448c8aae7f52a968e065"
      unitRef="U002">9964674</dei:EntityCommonStockSharesOutstanding>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="c20231001to20231231"
      id="Fact_684df39c60064be0ae02c47d9d039a74">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="c20231001to20231231"
      id="Fact_3ae081ff6c464808b2afbe1a839bcbe7">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="c20231001to20231231"
      id="Fact_eb5f25c3b89347f7a38f7bd5b34bf9a8">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="c20231001to20231231"
      id="Fact_ce7ef6bc2ead41e2b087607069c800eb">false</ecd:NonRule10b51ArrTrmntdFlag>
    <dei:AuditorName
      contextRef="c20230101to20231231"
      id="Fact_d17c74eeb091468184ed7f75e2e4ba0e">Marcum LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="c20230101to20231231"
      id="Fact_b8f9d020f24a4a45962377cb12df08c5">Hartford, Connecticut</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_dc38f793849b49d398505fb6cf842d88"
      unitRef="U001">12321000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20221231"
      decimals="-3"
      id="Fact_583b533e6d5e4782b75189719d3e9120"
      unitRef="U001">7946000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_5cfb9d009124444ca049f43740764ff5"
      unitRef="U001">768000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_69cd8a5607b4489bbd6c58bcdcbfc67a"
      unitRef="U001">351000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_da7f8c026cb14a72b76f182cf03d53b9"
      unitRef="U001">9824000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5be95321430a414093f09cb81397971c"
      unitRef="U001">13927000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:NontradeReceivablesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_5fd6dc0d2f244fa6bb2eabe50093d6f4"
      unitRef="U001">0</us-gaap:NontradeReceivablesCurrent>
    <us-gaap:NontradeReceivablesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_dcaf3368c30c4e248bee041f97a601ee"
      unitRef="U001">1500000</us-gaap:NontradeReceivablesCurrent>
    <us-gaap:InventoryNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_6f37ef3f7db84b4ea113c4274e48ce08"
      unitRef="U001">17759000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_890f3619f73b4ab6957218d084b1b186"
      unitRef="U001">12028000</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ec019ccb646649b88e5e6385a1ce6729"
      unitRef="U001">322000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="c20221231"
      decimals="-3"
      id="Fact_cc488212d8274693b08b17c5ec692e84"
      unitRef="U001">0</us-gaap:PrepaidTaxes>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c621a9ecf8c044ac9d4532230a8cc2a9"
      unitRef="U001">773000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_0ed2549279ef48ba81d668f705443126"
      unitRef="U001">724000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_47c80d47528f4025bb455a337e876702"
      unitRef="U001">40999000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_b32ed7f0d1984329b2f02aee0d1a40c6"
      unitRef="U001">36125000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_349ce91ac14746d29a84efcb2acc16f7"
      unitRef="U001">2421000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5020fa4f4289473f81eca36d73e98e11"
      unitRef="U001">2781000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7039a3bd928145c186887187892cd5b9"
      unitRef="U001">1602000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20221231"
      decimals="-3"
      id="Fact_898b7a32715343cbaa3fff72cb278b40"
      unitRef="U001">2488000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="c20231231"
      decimals="-3"
      id="Fact_beedf814ca784025aa80bd3a309a4216"
      unitRef="U001">2621000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c20221231"
      decimals="-3"
      id="Fact_0459ccce31294f4d93e2f3c9b01ff012"
      unitRef="U001">2621000</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ac81821a901646049ede044faf82a3bf"
      unitRef="U001">6304000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_74eae8de516b45d3bd6212215677a06d"
      unitRef="U001">7327000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="c20231231"
      decimals="-3"
      id="Fact_688b7b571d5849cb987c3b48ff402985"
      unitRef="U001">88000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="c20221231"
      decimals="-3"
      id="Fact_832f2ad90b014288b5756ec27867b837"
      unitRef="U001">242000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_134028c384a14bf496401b2925751878"
      unitRef="U001">163000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_eee28124a15d4468ba007e98caefc7fb"
      unitRef="U001">248000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f98528221e334acbb8e30b0227adee44"
      unitRef="U001">13199000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_52a881492ad1420f8305452b8aad9a57"
      unitRef="U001">15707000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="c20231231"
      decimals="-3"
      id="Fact_5b0aed3ca7b24b48bda59bc9f77ebff8"
      unitRef="U001">54198000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c20221231"
      decimals="-3"
      id="Fact_941ed27c59ec4204915f05b3593ca333"
      unitRef="U001">51832000</us-gaap:Assets>
    <us-gaap:LinesOfCreditCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b52ccdf38ded4423a09e0bbd24cedc89"
      unitRef="U001">2250000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_4d69ea46c3fb46fe93a0caa7d1d8220c"
      unitRef="U001">2250000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_9431ea352afe4a57b623461b9c954df2"
      unitRef="U001">4431000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_3ce1a3fc8f6d47cf9d4caf4e4c12bb63"
      unitRef="U001">7395000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c6bc5b43bf1440c8b24889bfa600510d"
      unitRef="U001">4947000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_7567297804fc4ccd91278f0f8ae5f8fa"
      unitRef="U001">4077000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7bf1f8875ea9401f9a540a9fb804bde5"
      unitRef="U001">929000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_7b92017c9d514168a99a6fba3cfd5360"
      unitRef="U001">875000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_82ae79e1294f41d198e9ecd7f629b7cd"
      unitRef="U001">1079000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_138cf84547f242aab1e1ce89c2b02615"
      unitRef="U001">1329000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_676974ef9d4148bfbc9f533bb6694ce1"
      unitRef="U001">13636000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_4e1872f1b4304d7baf9aef758b0d213c"
      unitRef="U001">15926000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_e1070e5401514475b77b36636d1d9f36"
      unitRef="U001">209000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_ac778866a23b42a2820a3b4c6ffb0492"
      unitRef="U001">143000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_528f1116b73f41089a4fbb63eade9f06"
      unitRef="U001">720000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_13ee33ff73f4499988f10eb686e63255"
      unitRef="U001">1683000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_045babe7d33c4ec293dbaf327c8358ab"
      unitRef="U001">219000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_9e1c11405ee4484885d92a297297e43c"
      unitRef="U001">218000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_31320663447a42d8867cba3f5eee87a3"
      unitRef="U001">1148000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_6ae12eae776c4be7b38a720951b43143"
      unitRef="U001">2044000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_59afe1063d52406abe1778356a4a9442"
      unitRef="U001">14784000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="c20221231"
      decimals="-3"
      id="Fact_7730048b802f40cab53a203b2d8db1e0"
      unitRef="U001">17970000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c20221231"
      decimals="2"
      id="Fact_f86ce06d010f435abf9124342bf6db5b"
      unitRef="U003">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c20231231"
      decimals="2"
      id="Fact_dddc05d2e8aa4a728a7b7a4c80efafd9"
      unitRef="U003">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c20221231"
      decimals="0"
      id="Fact_a42d039de3dc41afbd55d3c97cbf21ff"
      unitRef="U002">4800000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c20231231"
      decimals="0"
      id="Fact_1edbc5a0346c43cebf620bf74588452e"
      unitRef="U002">4800000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c20221231"
      decimals="INF"
      id="Fact_fe65d4b75ab64a77896a4d19a0e05e8c"
      unitRef="U002">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c20231231"
      decimals="INF"
      id="Fact_fbe770e4c6b1429d9d607365a60810a5"
      unitRef="U002">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c20231231"
      decimals="INF"
      id="Fact_c124fbc38d5844fd98797fb99fd0b53f"
      unitRef="U002">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c20221231"
      decimals="INF"
      id="Fact_0af5a4ebe8144710a9e3aed1bb72e2db"
      unitRef="U002">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_40091bc7741d4c30bc94235bab08a537"
      unitRef="U001">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="c20221231"
      decimals="-3"
      id="Fact_aa1706a466b94e0daed752056a8fea6e"
      unitRef="U001">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="2"
      id="Fact_9c235aa12bce46f29f8d1271525a7276"
      unitRef="U003">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="2"
      id="Fact_809f19b31ab0419d98a33913bea52408"
      unitRef="U003">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="0"
      id="Fact_c768fa0b756f459a883e928ff4ea1141"
      unitRef="U002">200000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="0"
      id="Fact_22b81b79721c4d438b9e3e09277e136a"
      unitRef="U002">200000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="INF"
      id="Fact_aa91782b29454f35a0aae58c79280a1d"
      unitRef="U002">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="INF"
      id="Fact_7ed6d242b5fc4796b0e95135652705cd"
      unitRef="U002">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="INF"
      id="Fact_7b9ccf585c5d4ecb9542ecaddca613a2"
      unitRef="U002">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="INF"
      id="Fact_78bab9f77b8c4e0b9062d96b430517e1"
      unitRef="U002">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="c20231231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="-3"
      id="Fact_b3caad4f6f4f4b829ae5cce3127cc311"
      unitRef="U001">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="c20221231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="-3"
      id="Fact_88c0df72a8c5449f92f0b188457537bc"
      unitRef="U001">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20221231"
      decimals="2"
      id="Fact_2a1c6cbaf196409f9f26d3ce2a2704c2"
      unitRef="U003">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20231231"
      decimals="2"
      id="Fact_081862335a224749b7c0291b12e7031d"
      unitRef="U003">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20221231"
      decimals="0"
      id="Fact_a1a48a6b8a364f589d7d2c1fb79041b2"
      unitRef="U002">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20231231"
      decimals="0"
      id="Fact_8de65fef4ec2462caa29b56168dcf35d"
      unitRef="U002">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20231231"
      decimals="0"
      id="Fact_a2d9c23e39ae45188d662d26184b9bc1"
      unitRef="U002">14003653</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20221231"
      decimals="0"
      id="Fact_d9360c2a97724a739630f1f31160adbd"
      unitRef="U002">13956725</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20231231"
      decimals="0"
      id="Fact_9aac3f6c46504bcd9b389800fc13bc08"
      unitRef="U002">9958811</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20221231"
      decimals="0"
      id="Fact_021edece6d584b4887d3dbd01a5c2b4a"
      unitRef="U002">9911883</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_e9293e9da13042df8a824413584b1695"
      unitRef="U001">140000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="c20221231"
      decimals="-3"
      id="Fact_d79a01ab64174b61b5acd6cf7fb666c9"
      unitRef="U001">139000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="c20231231"
      decimals="-3"
      id="Fact_61f71ec4c79b46d48bcade1398dab821"
      unitRef="U001">57055000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="c20221231"
      decimals="-3"
      id="Fact_0712927a75454d7bb8d671f668585304"
      unitRef="U001">56282000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c8ad956cdfdc4b20b25ca427ee45edd4"
      unitRef="U001">14378000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20221231"
      decimals="-3"
      id="Fact_7537049d901344d7a5f92a48207479b0"
      unitRef="U001">9630000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d1a2e72d73474221a858656645d50549"
      unitRef="U001">-49000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20221231"
      decimals="-3"
      id="Fact_fdeae2fbd31547db958d3723c52a4d26"
      unitRef="U001">-79000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c20231231"
      decimals="0"
      id="Fact_778bf5fafae74352840cfde6b015f35e"
      unitRef="U002">4044842</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c20221231"
      decimals="0"
      id="Fact_41a2171c81b5487eb8580795f21f0d7a"
      unitRef="U002">4044842</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_813f496465c9408dbb2883294a468782"
      unitRef="U001">32110000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="c20221231"
      decimals="-3"
      id="Fact_279cc2e009164842adfe227fc10e3d56"
      unitRef="U001">32110000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7e41591c679f40daa3ccc023a5793d5d"
      unitRef="U001">39414000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231"
      decimals="-3"
      id="Fact_514e8c2b684846ab8a2c665dc4af7dad"
      unitRef="U001">33862000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_083b3e7b48794daab53e4757a40932a6"
      unitRef="U001">54198000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20221231"
      decimals="-3"
      id="Fact_7bedaedb6b3c4d6696fcb6a07a8ecdb8"
      unitRef="U001">51832000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_b914f3ce647a4c0f8346609e0ad2a253"
      unitRef="U001">72631000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_dbb960f735184e13a2cfa3af5f088b4b"
      unitRef="U001">58139000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_69c23b3db0cb45a891d7afa2793e21b7"
      unitRef="U001">34231000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1b3a75d70980491c9d0ee70620d0f0e1"
      unitRef="U001">33727000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_b826665da3574e42a635bb60c78085c1"
      unitRef="U001">38400000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_dfd7f60d840649d1ad3692decf07a86d"
      unitRef="U001">24412000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_5d4de807d9d14ed4823cf9fe616cb038"
      unitRef="U001">9442000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_493beea135864d9d9816fdf88dfc5b82"
      unitRef="U001">8570000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_dfaf9e435c454cba8f0521e7328c632f"
      unitRef="U001">9934000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_0d7aac92a23a494196a6902292beac50"
      unitRef="U001">11326000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_92510088bbb340ddb1ca5204b49ca33d"
      unitRef="U001">13318000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_aaa6fc5e4fba4b95beffea4a27af82b3"
      unitRef="U001">12193000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ff795e8c87b64f879038a7ac72017883"
      unitRef="U001">32694000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_abab51d8dbdc4049be43bff38a0c6ef3"
      unitRef="U001">32089000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_609fbabd315047d19fb4324d6a48a785"
      unitRef="U001">5706000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_4611ceafb8a6446fb71cf0d36f03f4ff"
      unitRef="U001">-7677000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e00094b182bc41fe9088342e0bbc2902"
      unitRef="U001">310000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_66761a3d3d53417d82dd2627ad217b4c"
      unitRef="U001">208000</us-gaap:InterestExpense>
    <us-gaap:InterestIncomeDomesticDeposits
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_664ed0a3c1bb47e8acd42efda92d5c05"
      unitRef="U001">55000</us-gaap:InterestIncomeDomesticDeposits>
    <us-gaap:InterestIncomeDomesticDeposits
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_42bcf35875824ee9a3138dbd544a6aa5"
      unitRef="U001">0</us-gaap:InterestIncomeDomesticDeposits>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_eb572a242efc4a34b22aff8e7b2f6812"
      unitRef="U001">452000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_208c1a5da84049f1869faedd1c09d67c"
      unitRef="U001">-16000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_d52e5e5495cc47039106578f9074211c"
      unitRef="U001">197000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_e2df044afd134d4c9c869300bd1e9948"
      unitRef="U001">-224000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_db9675ebee0e4a4eabd956569d5b7201"
      unitRef="U001">5903000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3e478f21238d43fd8bec39fe95053e6d"
      unitRef="U001">-7901000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_604b3def360d41dd83a6dd1d3441005d"
      unitRef="U001">1155000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_442da0f297014d3796640168da238b29"
      unitRef="U001">-1965000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e673ca574d7745df842c6d89b8b4f42e"
      unitRef="U001">4748000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3ed8be3210bb4e70a0fd7fa3a937cc95"
      unitRef="U001">-5936000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230101to20231231"
      decimals="2"
      id="Fact_4eb214617b6949229dd34d649cbc2fe8"
      unitRef="U003">0.48</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20220101to20221231"
      decimals="2"
      id="Fact_e80484973380404fb38e2540cf277b45"
      unitRef="U003">-0.6</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230101to20231231"
      decimals="2"
      id="Fact_ecde569f4bf3484782479ab8e6892a32"
      unitRef="U003">0.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20220101to20221231"
      decimals="2"
      id="Fact_892cb70786714b2c853dc29f7eab6d8a"
      unitRef="U003">-0.6</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_d0286938e38c44a49cf415096d8b7fe1"
      unitRef="U002">9951000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_00d00d609508466eb9605ec64b913a63"
      unitRef="U002">9905000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_889cbdb12eea49648e867573c7436a6e"
      unitRef="U002">10021000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_f2ddee4413684a96b04aa98a5f3b7e6d"
      unitRef="U002">9905000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a8f6449d314f4ba8b9eb3fdc932aebe6"
      unitRef="U001">4748000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_b12052b84f7a4232910080d7bc5f990e"
      unitRef="U001">-5936000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_c664e3c09b6148ee91cdeb329dcdd4be"
      unitRef="U001">30000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_a78e7a6171d1416cb65883114a749d59"
      unitRef="U001">-222000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_12a01d6ed911485a96240f7f2ff15cc1"
      unitRef="U001">4778000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_0a73c66220f44385b57063917d0a867e"
      unitRef="U001">-6158000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_76545618a92c4e2e847d7bee0a94a3e9"
      unitRef="U002">9872889</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_70e365f37d194fd988fad07b319eab64"
      unitRef="U001">139000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_41811175df2442f98031f147c20d9781"
      unitRef="U001">55246000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_e2fdbf4d8cf24fef9ecb0eec255c546b"
      unitRef="U001">15566000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_0c137a32f9214b8fbeb18796a3694e56"
      unitRef="U001">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_de2b5d0798584a7fa66e012a25c0267c"
      unitRef="U001">143000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231"
      decimals="-3"
      id="Fact_1ef706c1c3214f1eb30ccc8a05c8d8ed"
      unitRef="U001">38984000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_1b2ae42a192c47c0b4f01802b7b7ac42"
      unitRef="U002">17500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_88ee407701814295936cc10f7d26b15d"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_f80498bdd0de4ba9a4b48329a78a1fb3"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_1c8739dbd16c4b9a9742c0058305b851"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_ab68e49633fb468abc74642a4c7a931a"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_43d4c3da527144a48156dc0623a4c075"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_b76246ae6cb84212b03e13b6affe6ede"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_b6df49a369f24e31b5110b71eecb0069"
      unitRef="U002">47931</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_7d6a952111404ab6a666cbd420099c4e"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_b3f0402d997c4f769140108c6285f24d"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_83f7f6a1eea54375a16260c6a55ade1c"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_b5d030a2f24247cc843c043623db82a1"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_099914591956455cb52aa6ed177100ff"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_e2e4ea92d5a14375a7bb43878a46fc3d"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_5fbe6d225c544664aee772d4ba7deb10"
      unitRef="U002">26437</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_e71955dfa99b45479d2166b37e4dbde0"
      unitRef="U001">0</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_337dc3dab8694bca85a6ac0fa2ab8080"
      unitRef="U001">119000</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_84b213cf6e0e48e29baaf6907c73175b"
      unitRef="U001">0</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_03ade248eed648b9a1933180d9fabba8"
      unitRef="U001">0</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_f9781567814245e0bb9a14de322e4982"
      unitRef="U001">0</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_8263c6cc777b49958818e3d25c1b83f5"
      unitRef="U001">119000</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_5e6483a656a44093bfb09fee67d530dc"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_09129e578b1e4d958fbd2521380c84fd"
      unitRef="U001">1155000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_d16ff05b84494c45bf9b098808d23023"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_33a70220c26e4c9daf33c8cf6d2ae19c"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_4767f28956ad4aa186febde0a33dbe60"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_f3e55871cf0e4e6b827726daa1319cf4"
      unitRef="U001">1155000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f7a9ec93ead54df0a7f7bfe3a228ebe2"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_7786ff55e8544d129295ae0ae52cc832"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_e26c4b92e48b4913a2f72723cbb90e21"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_d6ae3364a2ab4fc4b1075b4beb75aff1"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_afb2c6aa82544e9cadebd4344921135d"
      unitRef="U001">-222000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_fc159d968d3e4c8eb7d4a34ab437a730"
      unitRef="U001">-222000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_14473db1f9f040c6a44da18397d6abe1"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_579cd1e67f754544ba3e2fc8b55f8e71"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_3bfbf9c358ea46418ad7127159fd32df"
      unitRef="U001">-5936000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_10bfeffbd8544efcaf6e651bc0a11051"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_528c65a63c2046dab351de4e2dfa9083"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_e7274cb65f8448c79a2b8e108281e293"
      unitRef="U001">-5936000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_b2e691f5a8d246b2ae02fb6e0468a7f6"
      unitRef="U002">9911883</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f7964df9451b4bcfb09661cc9eab0c92"
      unitRef="U001">139000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_af99d8848beb41f1b4d37d835ce467c6"
      unitRef="U001">56282000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_49cc3d31aa88428e89917b05256d7325"
      unitRef="U001">9630000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_a8edee4d299246f0a1d4a330e732da43"
      unitRef="U001">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_58ccab7b91b74bf29e11f392975d87eb"
      unitRef="U001">-79000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e44455ba63bf4f73807ad0c42af22e96"
      unitRef="U001">33862000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_04d1ac73b11b49d0b632753df8c324a8"
      unitRef="U002">1875</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_a716d03a241544f6832f135eabdb5f16"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_fa13b004e7224bd8b4604e423a8578ac"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_f07f7324910944fe946ac47e15d9f6d8"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_4b32a09fe10740a2bf4917a4bca498d5"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_3908b74225314d4abbd9579944c4c712"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_c823ca8c10a940d3bc078d267676d8ea"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_d5ada3917d014465968799c8e3858a99"
      unitRef="U002">58705</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_daf0e4d4351f4d908b503f546a725b48"
      unitRef="U001">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_016e7157f7d248cf86f80987e8ba8ce5"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_44d655c1e3184294986ac9bcc716298a"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_e11e3b7527ed49e69ad374dd6954a33e"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_fe9b5977b7af411d95294c1d2e5fbefa"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_31ba323112d145e2ab4a2460e6ab1162"
      unitRef="U001">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_8c9a8e19373546a486738b1042074ffe"
      unitRef="U002">13652</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_511d13f11300477ab9f5a29425daea21"
      unitRef="U001">0</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_99743025ab934ccaac9b3972d3124a1d"
      unitRef="U001">87000</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_a1d19936937c46ffb8b4f5734c5a0029"
      unitRef="U001">0</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_55a0530790e049a2a3d0324da96cdc7a"
      unitRef="U001">0</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_b2d746ee52354c0ab266b063d859117e"
      unitRef="U001">0</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_932fae7ec5e84fc0a3e63922fc5bf2ce"
      unitRef="U001">87000</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_c4b56e451ef14c218d9f059ca23ef383"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_fd4bb400687345a0bdfd9b51ee03f3b5"
      unitRef="U001">860000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_d59aa3ee2e8643dcb39959eebbd20ba3"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_c4485af82f984ffaa3365c7c4c6c76a0"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_df297503b283431cb5b24207fd52aa31"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ea4e768ad6a84c6f8dc488667b4934d8"
      unitRef="U001">860000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_508f40c9e3a24dd5962aca099499117c"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_c92d2555fb4f4e7bb339f1a250ef4314"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_77c191a5b19d4258b379b7bf4e5dc5e1"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_c82898ef706d470d83929ccaa6a7a6be"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_20bed914789c481bbda12d404065ce1a"
      unitRef="U001">30000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_bd182215128641299f10e706b6069e37"
      unitRef="U001">30000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ca831f062d4a41dfaf5f43dc726fd168"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_4d9c008e8d294f67a7cda50950c04b40"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_d4e9a3e2b1004b358010255a91dc3ceb"
      unitRef="U001">4748000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_926f538deeed428788ec063fb5b16646"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_5ad72ed7e1874846bbb59a1db880164b"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_954e697ac59642b2a0abe6e7f4417caf"
      unitRef="U001">4748000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_eb423139fe6143b59010e507dee6b15c"
      unitRef="U002">9958811</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_a334ceabef0b407f8c249d25a1572b2f"
      unitRef="U001">140000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_6ba365bffcef4a3ebdf46328f9463c7f"
      unitRef="U001">57055000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_f2be9d52f8f2476c8f7d58bc4132291d"
      unitRef="U001">14378000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_110de951c97d48c9930bf030c6bc0cdd"
      unitRef="U001">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_2a81968837774794a59fa58048bd6880"
      unitRef="U001">-49000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_8045ae1ffab048398215e51816ff1055"
      unitRef="U001">39414000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_2d5eb2e9232c4264b3d8fa00a565b686"
      unitRef="U001">4748000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_31a382fac862431cbd03503ac68fd721"
      unitRef="U001">-5936000</us-gaap:NetIncomeLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_9ac0181595de400fa8089860ecf1956f"
      unitRef="U001">860000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_47a3f2b666f04f91add4520bab4ac1b3"
      unitRef="U001">1155000</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ea0658c7def544759dbf0bf6491c013a"
      unitRef="U001">1489000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_22998a2367e545fab0bf6c9de5605a3a"
      unitRef="U001">1332000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_97380fed6527440c9e6c6b74f0d0b91b"
      unitRef="U001">1020000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_96a20a12f132414098b0c70594e843ae"
      unitRef="U001">-2141000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:GainLossOnSaleOfProperty
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_45c4d379315649e58830fed5f7d39e7e"
      unitRef="U001">0</us-gaap:GainLossOnSaleOfProperty>
    <us-gaap:GainLossOnSaleOfProperty
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_e9e70722973b4c7b949f798ad060678a"
      unitRef="U001">-2000</us-gaap:GainLossOnSaleOfProperty>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_c18a5fc1302449c2b423a1267907da37"
      unitRef="U001">30000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_63099241cad94149a739b8c0b021e496"
      unitRef="U001">-6000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_8ec2b59af9f14f07bd5490cfcc3d701a"
      unitRef="U001">-4248000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_27a5b7dc5840485faa04d34943df8dfd"
      unitRef="U001">6421000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_052d2dfb359f42eaaa3a59d3c10a47b7"
      unitRef="U001">-1500000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_573838b9ca2f49209b015aa5d69605d5"
      unitRef="U001">0</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_66a8089ee4a0497a9466e1702d6d25a3"
      unitRef="U001">5658000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_f2a1bb09e7ab4932bd2825a54b67b8da"
      unitRef="U001">4378000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidTaxes
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_7a10f902fbc44c7cb5005a1cada60859"
      unitRef="U001">322000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
    <us-gaap:IncreaseDecreaseInPrepaidTaxes
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_a4c454fac6f94700aa94714c8e230be4"
      unitRef="U001">-137000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ea7d640db3f54195a04da51f4ef032bf"
      unitRef="U001">10000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_19888de1a0b143e794b3928ea73932a1"
      unitRef="U001">-167000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_cc3dbf4403af48fd9ccf21839dbbdcf0"
      unitRef="U001">-2988000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_d7b707ef3f484f6f9ad8d8e74fd835ed"
      unitRef="U001">3103000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ec2af548a4b64bfa85f96d7867e5eb81"
      unitRef="U001">650000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1e639b26d0fe48c3a42de2f95164a69e"
      unitRef="U001">754000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_9223a90022924302b2fa0c0c5dba5a2b"
      unitRef="U001">5507000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1568cdbf273e400991b754dcdbf83487"
      unitRef="U001">-12220000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_d66af15cd3d54ee0ae1e068645372512"
      unitRef="U001">901000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_1dd7a897f50a48f788b8866c94fb2f50"
      unitRef="U001">1299000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a4ff8854be624d89a469220afaf833e5"
      unitRef="U001">-901000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_0b1fe2d9a48747748af1a59daf66e256"
      unitRef="U001">-1299000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_86de16550a094d6eb00603aa5fd0cdc0"
      unitRef="U001">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_36e1d5ac5b4a4ddca1bc44833e8439aa"
      unitRef="U001">2250000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_5dc1ed4017254927873b3c3a4afff452"
      unitRef="U001">87000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_d9918320542b49f984273d73ab13a8da"
      unitRef="U001">119000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsOfLoanCosts
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_acad41fdd7e84da0bf1b5f877718de73"
      unitRef="U001">0</us-gaap:PaymentsOfLoanCosts>
    <us-gaap:PaymentsOfLoanCosts
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_6de3de05e1ba46fcacf49599bb2173d6"
      unitRef="U001">69000</us-gaap:PaymentsOfLoanCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a11b1a38d1ee426aa98b833843d41b80"
      unitRef="U001">-87000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_acef8849aa864e05b6e0c212c58ca1bc"
      unitRef="U001">2062000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_d39116e2836b437a95961cb2f657e2d4"
      unitRef="U001">-144000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_7b65faf56381488b99d42d0a7ab2bd4e"
      unitRef="U001">-54000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_1e4d86dd412547faac7d0d8465968f63"
      unitRef="U001">4375000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_0bb229d843a74ffa9798381275f4fbae"
      unitRef="U001">-11511000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20221231"
      decimals="-3"
      id="Fact_13f32c6074b947efb8becff4904c278c"
      unitRef="U001">7946000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20211231"
      decimals="-3"
      id="Fact_e65734941c8a4dfab10893536d4e2e00"
      unitRef="U001">19457000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20231231"
      decimals="-3"
      id="Fact_dfb768a9ea044a49b000b5f22e9fff3e"
      unitRef="U001">12321000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20221231"
      decimals="-3"
      id="Fact_ac89d22a68ad460e9997a9a2b667629d"
      unitRef="U001">7946000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_79777676408142fca66ebad738aada05"
      unitRef="U001">268000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_a89f93b7bc40416baef76dcd88f608ce"
      unitRef="U001">129000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_c47161ec0c7e4714aa6fb082d139dc42"
      unitRef="U001">160000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_fa515421eb0d4fac8baa025de32dd4b0"
      unitRef="U001">62000</us-gaap:IncomeTaxesPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_1255971997634ab895c16e57c6817632"
      unitRef="U001">23000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_6467a61154ba454b8b2cb8f0f6d6852a"
      unitRef="U001">54000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:NatureOfOperations
      contextRef="c20230101to20231231"
      id="Text_6875b726ea15451c8fd630914494410d">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;1. Description of business&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Technologies Incorporated (together with its subsidiaries, &#x201c;TransAct,&#x201d; the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; &#x201c;us,&#x201d; or &#x201c;our&#x201d;), which has its headquarters in
      Hamden, Connecticut and its primary operating facility in Ithaca, New York, operates in one operating segment: software-driven technology
      and printing solutions for high growth markets including food service technology, casino and gaming and &#x201c;point of sale&#x201d; (&#x201c;POS&#x201d;) automation markets.&#160; Our solutions are designed from the ground up based on market and customer requirements and are sold
      under the BOHA!&lt;sup&gt;TM&lt;/sup&gt;, AccuDate&#x2122;, Epic, Ithaca&#xae;, and EPICENTRAL&lt;sup&gt;&#xae;&lt;/sup&gt; product brands.&#160; We sell our products to original equipment manufacturers, value-added resellers, select distributors, and directly to end-users.&#160; Our product
      distribution spans across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. TransAct also provides world-class service, spare parts, accessories and printing supplies to its
      growing worldwide installed base of products.&#160; We also generate revenue from the after-market side of the business, providing printer and terminal service, consumables and spare parts in addition to revenue from our two software solutions; (i) our line of BOHA! software applications used to automate the back-of-house operations of restaurants, convenience stores and
      food service operators and (ii) the EPICENTRAL Print System (&#x201c;EPICENTRAL&#x201d;), that enables casino operators to create promotional coupons and marketing messages and print them in real time at the slot machine.&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
      &lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-weight: bold;"&gt;Current Business Trends&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt;"&gt;After strong demand during the year due in part to our primary competitor&#x2019;s
        struggle to deliver products in the face of supply chain constraints, in late 2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain
        concerns advised us that they would temporarily reduce orders until their stock normalized. This slowdown impacted our results in the fourth quarter of 2023, and we expect this trend to continue to impact results in 2024. Further, our primary
        competitor in the casino and gaming market has resumed supplying product with increasing volume in 2024, which has begun to result in downward pricing pressure in that market and could exacerbate the demand slowdown, either of which could
        negatively impact our worldwide casino and gaming sales. In addition, we have experienced cost increases as a result of current economic conditions, most of which we have been able to offset by increasing prices of our products.&#160; However, there can
        be no guarantee that we will be able to increase prices sufficiently to offset any future such cost increases that cannot be predicted, and we may be impacted by supply chain disruptions, inflationary pressures and other global economic conditions
        that may affect the markets we serve and from which we source our supplies and parts.&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt;"&gt; &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;&lt;span style="font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance Sheet, Cash Flow and Liquidity.&#160;&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;During the third quarter of 2023, we began a cost reduction
          initiative to reduce our overall level of operating expenses that includes reducing employee headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering resources and other expenses, and to a
          lesser extent, certain general and administrative expenses. We expect these actions will result in approximately $3 million of
          annualized savings beginning in 2024, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts we have taken to bring
          expenses in line with our revenue and mitigate the impact of global economic conditions such as supply chain disruptions and inflation are sufficient or adequate, and we may be required to take additional measures, as the ultimate extent of the
          effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
        &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial
        obligations over the 12 months following the date on which the Consolidated Financial Statements included in this Annual Report on Form 10-K (this &#x201c;Form 10-K&#x201d;) were issued, including consideration of the actions taken to manage expenses and
        liquidity, we believe that our net cash to be provided by operations combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations,
        capital spending, and working capital requirements and to comply with the financial covenants of our credit facility over at least 12 months following such issuance date.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Use of Assumptions and Estimates&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-transform: none;"&gt;Management&#x2019;s belief that the Company will
            be able to fund its planned operations over the 12 months following the date on which the Consolidated Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, inflation,
            rising interest rates, capital expenditures and other operating costs. Our current assumptions are that casinos and restaurants will remain open and consumer traffic will continue to remain strong during 2024. Though demand for our products at
            casinos has increased substantially post-COVID, we cannot predict the ultimate impact of the current economic environment, including inflation, rising interest rates and supply chain disruptions on our customers, which may impact sales. We
            believe that we are positioned to withstand the impact of any potential economic downturn or slower than anticipated economic recovery and we would be able to take additional financial and operational actions to cut costs and/or increase
            liquidity.&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;
       &lt;br/&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;In addition, the presentation of the accompanying audited Consolidated Financial Statements requires us to make estimates
        and judgments that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of contingent assets and liabilities. Our estimates include those related to revenue recognition, accounts receivable, inventory
        obsolescence, goodwill and intangible assets, the valuation of deferred tax assets and liabilities, depreciable lives of equipment, share-based compensation and contingent liabilities. We base our estimates on historical experience and on various
        other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates used.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Smaller Reporting Company&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, we may choose to prepare our disclosures relying on certain scaled
      disclosure requirements for smaller reporting companies in Regulation S-K and in Article 8 of Regulation S-X.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The scaled disclosure requirements for smaller reporting companies permit us (i) to include less extensive narrative disclosure than required of other
      reporting companies, particularly in the description of executive compensation in our proxy statement and (ii) to provide audited financial statements for two fiscal years in our Form 10-K, in contrast to other reporting companies, which must provide
      audited financial statements for three years.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br/&gt;
      &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;We will cease to be a smaller reporting company if we have (i) equal to or greater than $250 million in market value of our shares held by non-affiliates as of the last
        business day of our second fiscal quarter and (ii) if the market value of our shares held by non-affiliates does not exceed $700 million as of the last business day of our second fiscal quarter, equal to or greater than $100 million in annual
        revenues for the most recent fiscal year.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;
</us-gaap:NatureOfOperations>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c20230101to20231231"
      decimals="INF"
      id="Fact_fbda6c77376c44ac84406e6077c71128"
      unitRef="U004">1</us-gaap:NumberOfOperatingSegments>
    <tact:NumberOfSoftwareSolutions
      contextRef="c20231231"
      decimals="INF"
      id="Fact_585d0ad6f3154607b384cba8094d21f6"
      unitRef="U005">2</tact:NumberOfSoftwareSolutions>
    <us-gaap:OperatingExpenses
      contextRef="c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember"
      decimals="-6"
      id="Fact_b3afab6718384f5593205e4166a30dd9"
      unitRef="U001">-3000000</us-gaap:OperatingExpenses>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="c20230101to20231231"
      id="Text_9527a241fd8745e49657dbef402ee434">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2. Summary of significant accounting policies&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Principles of consolidation: &lt;/span&gt;The
      accompanying Consolidated Financial Statements include the audited Consolidated Financial Statements of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and
      unrealized profit. &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Use of estimates&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;:&lt;/span&gt; The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) requires management to make
      estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements and the reported amounts of sales and
      expenses during the reporting period. Actual results could differ from those estimates.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Segment reporting&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;: &lt;/span&gt;We apply the provisions of the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) Accounting Standards Codification (&#x201c;ASC&#x201d;) 280, &#x201c;Segment Reporting.&#x201d;&#160; We view our operations and manage our
      business as one segment: the design, development and marketing of software-driven technology and printing solutions and providing printer
      and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#x2019;s single operating segment include the organizational structure of the Company and the financial information available for evaluation by the chief
      operating decision-maker in making decisions about how to allocate resources and assess performance.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;:&lt;/span&gt; We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold; font-style: italic; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; text-transform: none;"&gt;Accounts
          receivable and credit losses&lt;/span&gt;&lt;span style="font-weight: normal; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;:&#160;The



          Company records accounts receivable when the right to consideration becomes unconditional. We establish an allowance for expected credit losses to ensure trade receivables are valued appropriately. &lt;/span&gt; &lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
        &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;We are exposed to credit losses primarily through our net sales of products and services to our customers which are
        recorded as Accounts Receivable, net on the Consolidated Balance Sheets. We evaluate each customer&#x2019;s ability to pay through assessing customer creditworthiness, historical experience and current economic conditions through a reasonable forecast
        period. Factors considered in our evaluation of assessing collectability and risk include: underlying value of any collateral or security interests, significant past due balances, historical losses and existing economic conditions including country
        and political risk. There can be no assurance that actual results will not differ from estimates or that consideration of these factors in the future will not result in an increase or decrease to the allowance for credit losses. We may require
        collateral or prepayment to mitigate credit risk.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
        &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;We estimate expected credit losses of financial assets with
          similar risk characteristics. We determine an asset is impaired when our assessment identifies there is a risk that we will be unable to collect amounts due according to the contractual terms of the agreement. We monitor our ongoing credit
          exposure through reviews of customer balances against contract terms and due dates, current economic conditions and dispute resolution. Estimated credit losses are written off in the period in which the financial asset is no longer collectible.&lt;/span&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt; &lt;br/&gt;
        &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;The
          following table summarizes the activity recorded in the allowance for expected credit losses related to accounts receivable:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;Years Ended &lt;/span&gt;December 31&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;,&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;351&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;219&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;606&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;140&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deductions&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(189&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(8&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;768&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;351&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Inventories:&lt;/span&gt; Inventories are stated at the lower of average cost
      or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on
      these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net realizable value.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Effective April 1, 2022, TransAct changed its method of inventory valuation from standard costing which approximated the &#x201c;first-in, first-out&#x201d; (&#x201c;FIFO&#x201d;) costing
      methodology to the average costing methodology.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Fixed assets:&lt;/span&gt; Fixed assets are stated at cost.&#160;
      Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is five years;
      machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&#160; Leasehold
      improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
      accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $1.3 and $1.1 million in 2023 and 2022, respectively.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Leases:&lt;/span&gt; We account for leases in accordance with ASC 842, &#x201c;Leases&#x201d;
      (&#x201c;ASC 842&#x201d;), which requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines
      whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability
      for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the
      transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as operating.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for short-term leases. We
      have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing leases. We
      determine if an arrangement contains a lease at inception. Our leases are included in &#x201c;Right-of-use assets&#x201d; and &#x201c;Lease liabilities&#x201d; in our Consolidated Balance Sheets.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease
      payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On April 26, 2022, we entered into an amendment to modify the expiration date of our lease on our Las Vegas, Nevada facility. The lease was set to expire
      on November 1, 2022 and the amendment extended the lease term to November 30, 2025. The lease amendment resulted in an increase to the right-of-use-asset and lease liability of $0.8 million. The lease amendment modified the base rent. &lt;br/&gt;
    &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the Company determines
      its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our lease right of use
      asset excludes lease incentives. Our leases have remaining lease terms of one year to four years, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect
      only the options we are reasonably certain that we will exercise.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Goodwill and intangible assets&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;:&lt;/span&gt; We acquire businesses in purchase transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible
      assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#x201c;Goodwill,&#x201d; acquired goodwill is not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that
      indicate it is more likely than not an impairment exists.&#160; We perform a fair value-based impairment test to the carrying value of goodwill and indefinite-lived intangible assets on an annual basis and, if certain events or circumstances indicate that
      an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with
      the applicable accounting standards. Under the qualitative assessment, management considers relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events
      directly affecting the Company. If the Company determines that the Step 1 quantitative impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#x2019;s cash flow
      projections, and also evaluates the fair value using the market approach. Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of December 31, 2023, we have determined that no
      goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2023 when our annual review for impairment was performed.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Revenue recognition:&lt;/span&gt; We account for revenue in
      accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or service to the customer. Some of our contracts with
      customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended warranties).&#160; A contract&#x2019;s transaction price is
      allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring services to the
      customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in the transaction
      price utilizing either the &#x201c;expected value&#x201d; method or the &#x201c;most likely amount&#x201d; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#x2019;s judgment, it is probable
      that a significant future reversal of cumulative revenue under the contract will not occur.&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes revenue as of a point of
      time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our casino and gaming market,
      EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is licensed to the customer, and
      a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#x2019;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and formal acceptance by the
      customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer, as control of the
      product is transferred to the customer and our performance obligation is completed.&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the asset as it is
      being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support for our food
      service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion of
      EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
      the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract
      period.&#160; For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#x201c;standalone selling price&#x201d; method to
      determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
      discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
      approach.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected amortization period of
      the cost to obtain a contract is less than 12 months.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue
      and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Year Ended December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15,159&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,149&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;16,308&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,805&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;117&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,922&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;28,715&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,477&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;41,192&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,381&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;828&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,209&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,060&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,571&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;72,631&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;Year Ended &lt;/span&gt;December 31, 2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;11,602&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;762&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,364&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,657&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,659&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,686&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,343&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;30,029&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;br/&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,089&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;998&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;5,087&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;44,034&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,105&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,139&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Contract balances&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior to the customer
      being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included within
      &#x201c;Accounts Receivable, net&#x201d; and &#x201c;Other Assets&#x201d; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#x201c;Accrued Liabilities&#x201d; in current
      liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is complete.&#160;
      Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and prepaid
      software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract. During the year ended December 31, 2023, we recognized revenue of $1.4 million related to our contract liabilities as of December 31, 2022.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net contract (liabilities) assets consist of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;145&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;392&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, non-current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;120&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;163&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(155&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(101&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,079&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,329&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(209&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(143&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net contract (liabilities) assets&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,178&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,018&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Remaining performance obligations&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&#160; As
      of December 31, 2023, the aggregate amount of the transaction price allocated to remaining performance obligations was $8.2 million. The Company expects to recognize revenue on $7.9
      million of its remaining performance obligations within the next 12 months following December 31, 2023, $0.2 million within the next &lt;span style="-sec-ix-hidden:Fact_3b3b217b82f14d0981e1911a0e683e9c"&gt;24&lt;/span&gt; months
      following December 31, 2023 and the&#160;&lt;span style="-sec-ix-hidden:Fact_fa4f9810fdc440e7a6f07a14288bd412"&gt;balance&lt;/span&gt; of these remaining performance obligations within the next &lt;span style="-sec-ix-hidden:Fact_bc0b117592ec4ae9a3df5220e7dbe1c8"&gt;36&lt;/span&gt; months following December 31, 2023.&lt;/div&gt;

&lt;div&gt;

    &lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Concentration of credit risk:&lt;/span&gt;&#160; Financial
      instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable, net were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;
              &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International Gaming Technology (&#x201c;IGT&#x201d;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Bright Group&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;11&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;IGT&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Engineering, design and product
        development:&lt;/span&gt; Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed as a component
      of operating expenses as incurred.&#160; We recorded $9.4 million and $8.6 million of research and development expenses in 2023 and 2022, respectively.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Costs incurred in the engineering, design and product development of a computer software product are charged to expense until technological feasibility
      has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is required in determining
      when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs has been included in cost
      of sales over the estimated life of the product.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Advertising:&lt;/span&gt; Advertising costs are expensed as incurred.&#160;
      Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations for 2023
      and 2022 totaled $1.7
      million and $3.1 million, respectively. These expenses include items such as consulting, professional services, tradeshows, and print
      advertising.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Income taxes:&lt;/span&gt; The income tax amounts reflected in the
      accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#x201c;Income Taxes&#x201d; (&#x201c;ASC 740&#x201d;).&#160; Deferred tax assets and liabilities are recognized for the estimated future tax consequences
      attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are measured using
      enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent that we
      believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Foreign currency translation:&lt;/span&gt; The financial
      position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars at the year-end exchange rate,
      related sales and expenses have been translated at the weighted average rate for the period, and shareholders&#x2019; equity has been translated at historical exchange rates.&#160; The resulting translation gains or losses, net of tax, are recorded in
      shareholders&#x2019; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related to intercompany balances, are recognized in
      Other, net on the Consolidated Statements of Operations.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Share-based payments:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&#160;&lt;/span&gt;At December 31, 2023, we have share-based employee compensation plans,
      which are described more fully in Note 9 - Stock incentive plans. We account for those plans under the recognition and measurement principles of ASC 718, &#x201c;Compensation &#x2013; Stock Compensation.&#x201d;&#160; Share-based compensation expense is measured at the grant
      date, based on the estimated fair value of the award, and is recognized as expense over the employee&#x2019;s requisite service period.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this valuation method include
      the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in the determination of
      compensation expense.&#160; Forfeitures are recognized as they occur.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;Net income (loss) per share&lt;/span&gt;:&lt;/span&gt; We report net income or loss per share in accordance with ASC 260, &#x201c;Earnings per Share (EPS).&#x201d; Under this guidance, basic EPS, which excludes dilution, is computed by dividing
      income or loss available to common shareholders by the weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were
      exercised or converted into common stock.&#160; Diluted EPS includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these
      instruments are excluded from the computation of diluted EPS.&#160; See Note 11 - Earnings per share.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;&lt;span style="font-weight: bold; font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Recently issued accounting pronouncements&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;:&lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;In June 2016, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) 2016-13,&#160;&lt;span style="font-style: italic;"&gt;Financial Instruments - Credit Losses
            (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/span&gt;. This ASU and its related amendments (collectively, the &#x201c;Credit Loss Standard&#x201d;) modifies the impairment model to utilize an expected loss methodology in place of the
          incurred loss methodology for financial instruments, including trade receivables, contract assets and off-balance sheet credit exposures. The Credit Loss Standard requires consideration of a broader range of information to estimate expected
          credit losses, including historical information, current economic conditions and a reasonable forecast period. This Credit Loss Standard requires that the statement of operations reflect estimates of expected credit losses for newly recognized
          financial assets as well as changes in the estimate of expected credit losses that have taken place during the period, which may result in earlier recognition of certain losses. We adopted this standard effective January 1, 2023, and this
          standard did not have a material impact on the Company&#x2019;s Consolidated Financial Statements.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;On November 27, 2023, the FASB issued ASU 2023-07,&#160;&lt;span style="font-style: italic;"&gt;Segment Reporting (Topic 280)&lt;/span&gt;.&#160;


















          The amendments improve reportable segment disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single
          reportable segment and contain other disclosure requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements
          must be applied retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial
          Statements.&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt; &lt;span style="font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;On December 14, 2023, the FASB issued ASU 2023-09,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;&#160;Income Taxes (Topic 740)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;.&#160; This ASU requires the use of consistent categories and greater
              disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure requirements can be applied either prospectively or
              retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.&lt;/span&gt;&lt;/div&gt;
</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_a05ed4af955d48f9a8e48d290aa3a0e8">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Principles of consolidation: &lt;/span&gt;The
      accompanying Consolidated Financial Statements include the audited Consolidated Financial Statements of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and
      unrealized profit. &lt;/div&gt;
</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="c20230101to20231231"
      id="Text_b1b972a8872d4c509b46c4009efc9793">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Use of estimates&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;:&lt;/span&gt; The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) requires management to make
      estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements and the reported amounts of sales and
      expenses during the reporting period. Actual results could differ from those estimates.&lt;/div&gt;
</us-gaap:UseOfEstimates>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_04764b470eaa42c684770ef0114aa186">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Segment reporting&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;: &lt;/span&gt;We apply the provisions of the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) Accounting Standards Codification (&#x201c;ASC&#x201d;) 280, &#x201c;Segment Reporting.&#x201d;&#160; We view our operations and manage our
      business as one segment: the design, development and marketing of software-driven technology and printing solutions and providing printer
      and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#x2019;s single operating segment include the organizational structure of the Company and the financial information available for evaluation by the chief
      operating decision-maker in making decisions about how to allocate resources and assess performance.&lt;/div&gt;
</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c20230101to20231231"
      decimals="INF"
      id="Fact_5ee08695f7a64d93924f01b5f7f84d6c"
      unitRef="U004">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_0e53aba468e44a79aa7368b3cac37178">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;:&lt;/span&gt; We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.&lt;/div&gt;
</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="c20230101to20231231"
      id="Text_771b1dfd57794242a8fbaa089ec08b18">
&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold; font-style: italic; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-variant: normal; text-transform: none;"&gt;Accounts
          receivable and credit losses&lt;/span&gt;&lt;span style="font-weight: normal; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;:&#160;The



          Company records accounts receivable when the right to consideration becomes unconditional. We establish an allowance for expected credit losses to ensure trade receivables are valued appropriately. &lt;/span&gt; &lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
        &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;We are exposed to credit losses primarily through our net sales of products and services to our customers which are
        recorded as Accounts Receivable, net on the Consolidated Balance Sheets. We evaluate each customer&#x2019;s ability to pay through assessing customer creditworthiness, historical experience and current economic conditions through a reasonable forecast
        period. Factors considered in our evaluation of assessing collectability and risk include: underlying value of any collateral or security interests, significant past due balances, historical losses and existing economic conditions including country
        and political risk. There can be no assurance that actual results will not differ from estimates or that consideration of these factors in the future will not result in an increase or decrease to the allowance for credit losses. We may require
        collateral or prepayment to mitigate credit risk.&lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt; &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;br/&gt;
        &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;We estimate expected credit losses of financial assets with
          similar risk characteristics. We determine an asset is impaired when our assessment identifies there is a risk that we will be unable to collect amounts due according to the contractual terms of the agreement. We monitor our ongoing credit
          exposure through reviews of customer balances against contract terms and due dates, current economic conditions and dispute resolution. Estimated credit losses are written off in the period in which the financial asset is no longer collectible.&lt;/span&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt; &lt;br/&gt;
        &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;The
          following table summarizes the activity recorded in the allowance for expected credit losses related to accounts receivable:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;Years Ended &lt;/span&gt;December 31&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;,&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;351&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;219&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;606&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;140&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deductions&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(189&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(8&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;768&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;351&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_a14c9af619084351b73446a5d2ba6270">
&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; background-color: rgb(255, 255, 255); font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;The
          following table summarizes the activity recorded in the allowance for expected credit losses related to accounts receivable:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;Years Ended &lt;/span&gt;December 31&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;,&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;351&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;219&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;606&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;140&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deductions&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(189&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(8&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;768&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;351&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_d55c2c68d6f54657b0aef46d1a104c4c"
      unitRef="U001">351000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_efa15c4342304497b214c36c980dee86"
      unitRef="U001">219000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_6c29bf62fc964dd9a10e0da295f05211"
      unitRef="U001">606000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_f79e1762d69a4ba8a92f819bbf60fee9"
      unitRef="U001">140000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_722844863b604b25a4dce8d96e7c2f26"
      unitRef="U001">189000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_4d13d97a96004a7ea770959efc3f6303"
      unitRef="U001">8000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_6569c566ba5440c09416ed1afc370c54"
      unitRef="U001">768000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_1caebc24609c49d98ad5877a212fcf25"
      unitRef="U001">351000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_cbf9ab1a6272485593a81172e5594a9f">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Inventories:&lt;/span&gt; Inventories are stated at the lower of average cost
      or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on
      these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net realizable value.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Effective April 1, 2022, TransAct changed its method of inventory valuation from standard costing which approximated the &#x201c;first-in, first-out&#x201d; (&#x201c;FIFO&#x201d;) costing
      methodology to the average costing methodology.&lt;/div&gt;
</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_aa794ae16528441eb764ae2ec6921921">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Fixed assets:&lt;/span&gt; Fixed assets are stated at cost.&#160;
      Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is five years;
      machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&#160; Leasehold
      improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
      accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $1.3 and $1.1 million in 2023 and 2022, respectively.&lt;/div&gt;
</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember"
      id="Fact_5e87a9c80d8e4742ab0da1d600374a3c">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"
      id="Fact_7884f39e49d04f9185b5f68c3798e64f">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember"
      id="Fact_906b67de14044fdf98102757fa619742">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember"
      id="Fact_f9ef286ee010423d88c077eef7fdaba9">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember"
      id="Fact_e6cfc9f9dc8d426280eeddbdd6025f7b">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember"
      id="Fact_6729796678364f129535a4bec780a752">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:Depreciation
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_23691166b24b4817a2208e1f76b3bac1"
      unitRef="U001">1300000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_3530f546426d4979abf3693e72c0c27b"
      unitRef="U001">1100000</us-gaap:Depreciation>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_3b66bdb6653c45f5890204e3efcb6f7b">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Leases:&lt;/span&gt; We account for leases in accordance with ASC 842, &#x201c;Leases&#x201d;
      (&#x201c;ASC 842&#x201d;), which requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines
      whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability
      for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the
      transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as operating.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for short-term leases. We
      have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing leases. We
      determine if an arrangement contains a lease at inception. Our leases are included in &#x201c;Right-of-use assets&#x201d; and &#x201c;Lease liabilities&#x201d; in our Consolidated Balance Sheets.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease
      payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On April 26, 2022, we entered into an amendment to modify the expiration date of our lease on our Las Vegas, Nevada facility. The lease was set to expire
      on November 1, 2022 and the amendment extended the lease term to November 30, 2025. The lease amendment resulted in an increase to the right-of-use-asset and lease liability of $0.8 million. The lease amendment modified the base rent. &lt;br/&gt;
    &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the Company determines
      its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our lease right of use
      asset excludes lease incentives. Our leases have remaining lease terms of one year to four years, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect
      only the options we are reasonably certain that we will exercise.&lt;/div&gt;
</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="c20220426to20220426_PropertyPlantAndEquipmentByTypeAxis_FacilityInLasVegasNevadaMember"
      decimals="-5"
      id="Fact_aef66e1f09434827b6b37061d1fa0464"
      unitRef="U001">800000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset
      contextRef="c20220426to20220426_PropertyPlantAndEquipmentByTypeAxis_FacilityInLasVegasNevadaMember"
      decimals="-5"
      id="Fact_82702ee813f24e0195132d5b8ffb94f8"
      unitRef="U001">800000</tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="c20231231_RangeAxis_MinimumMember"
      id="Fact_0ba065b8637e42679a7b00be2e9cc833">P1Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="c20231231_RangeAxis_MaximumMember"
      id="Fact_9c6c483353da488499a17ae27d23338d">P4Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_980b65c72a8b4e72b76eb381dcf66c9b">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Goodwill and intangible assets&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;:&lt;/span&gt; We acquire businesses in purchase transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible
      assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#x201c;Goodwill,&#x201d; acquired goodwill is not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that
      indicate it is more likely than not an impairment exists.&#160; We perform a fair value-based impairment test to the carrying value of goodwill and indefinite-lived intangible assets on an annual basis and, if certain events or circumstances indicate that
      an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with
      the applicable accounting standards. Under the qualitative assessment, management considers relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events
      directly affecting the Company. If the Company determines that the Step 1 quantitative impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#x2019;s cash flow
      projections, and also evaluates the fair value using the market approach. Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of December 31, 2023, we have determined that no
      goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2023 when our annual review for impairment was performed.&lt;/div&gt;
</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetImpairment
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_1881ae299e254262b5fbf04aa0eaf025"
      unitRef="U001">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_a1a709585b10474292c74696e24e91d9">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Revenue recognition:&lt;/span&gt; We account for revenue in
      accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or service to the customer. Some of our contracts with
      customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended warranties).&#160; A contract&#x2019;s transaction price is
      allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring services to the
      customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in the transaction
      price utilizing either the &#x201c;expected value&#x201d; method or the &#x201c;most likely amount&#x201d; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#x2019;s judgment, it is probable
      that a significant future reversal of cumulative revenue under the contract will not occur.&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes revenue as of a point of
      time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our casino and gaming market,
      EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is licensed to the customer, and
      a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#x2019;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and formal acceptance by the
      customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer, as control of the
      product is transferred to the customer and our performance obligation is completed.&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the asset as it is
      being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support for our food
      service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion of
      EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
      the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract
      period.&#160; For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#x201c;standalone selling price&#x201d; method to
      determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
      discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
      approach.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected amortization period of
      the cost to obtain a contract is less than 12 months.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue
      and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Year Ended December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15,159&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,149&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;16,308&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,805&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;117&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,922&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;28,715&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,477&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;41,192&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,381&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;828&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,209&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,060&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,571&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;72,631&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;Year Ended &lt;/span&gt;December 31, 2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;11,602&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;762&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,364&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,657&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,659&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,686&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,343&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;30,029&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;br/&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,089&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;998&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;5,087&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;44,034&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,105&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,139&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Contract balances&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior to the customer
      being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included within
      &#x201c;Accounts Receivable, net&#x201d; and &#x201c;Other Assets&#x201d; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#x201c;Accrued Liabilities&#x201d; in current
      liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is complete.&#160;
      Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and prepaid
      software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract. During the year ended December 31, 2023, we recognized revenue of $1.4 million related to our contract liabilities as of December 31, 2022.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net contract (liabilities) assets consist of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;145&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;392&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, non-current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;120&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;163&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(155&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(101&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,079&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,329&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(209&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(143&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net contract (liabilities) assets&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,178&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,018&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Remaining performance obligations&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&#160; As
      of December 31, 2023, the aggregate amount of the transaction price allocated to remaining performance obligations was $8.2 million. The Company expects to recognize revenue on $7.9
      million of its remaining performance obligations within the next 12 months following December 31, 2023, $0.2 million within the next &lt;span style="-sec-ix-hidden:Fact_3b3b217b82f14d0981e1911a0e683e9c"&gt;24&lt;/span&gt; months
      following December 31, 2023 and the&#160;&lt;span style="-sec-ix-hidden:Fact_fa4f9810fdc440e7a6f07a14288bd412"&gt;balance&lt;/span&gt; of these remaining performance obligations within the next &lt;span style="-sec-ix-hidden:Fact_bc0b117592ec4ae9a3df5220e7dbe1c8"&gt;36&lt;/span&gt; months following December 31, 2023.&lt;/div&gt;
</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation
      contextRef="c20230101to20231231"
      id="Fact_a644228db1314e3ba3416704b8db08a1">P1Y</tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_6ec54f25df26416e9ccd831af7f9af1f">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue
      and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Year Ended December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15,159&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,149&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;16,308&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,805&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;117&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,922&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;28,715&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,477&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;41,192&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,381&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;828&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,209&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,060&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,571&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;72,631&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;Year Ended &lt;/span&gt;December 31, 2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&#160;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;11,602&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;762&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,364&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,657&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,659&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,686&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,343&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;30,029&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 7.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;br/&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,089&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;998&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;5,087&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="text-align: left; margin-left: 16.2pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;44,034&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,105&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,139&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_3e5e9b345e24452ea1a4c320a72c71ad"
      unitRef="U001">15159000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_d9ad8777e0a4408db555c906d33d7612"
      unitRef="U001">1149000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_FoodServiceTechnologyMember"
      decimals="-3"
      id="Fact_c52d2b9494d0454fb5a446e2a43a5ff5"
      unitRef="U001">16308000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_20fa9a09e2224702b1fc7ab1c22f8af5"
      unitRef="U001">6805000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_c645435259c34117a94d2c0528abf5f7"
      unitRef="U001">117000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_PosAutomationAndBankingMember"
      decimals="-3"
      id="Fact_3fa84511880640868c0ff980b863a26e"
      unitRef="U001">6922000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_c8e559381641425c992b5fe0597135a6"
      unitRef="U001">28715000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_fd12dd5551724da3a066a6c85ddd1347"
      unitRef="U001">12477000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_CasinoAndGamingMember"
      decimals="-3"
      id="Fact_daf6b4494cfa446fadff6b3f066e2c73"
      unitRef="U001">41192000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_2c371c64de0e4d29912e342e7d441625"
      unitRef="U001">7381000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_8b5dd4f1b0584b02b2395e67e40a45ca"
      unitRef="U001">828000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ProductOrServiceAxis_TransactServicesGroupMember"
      decimals="-3"
      id="Fact_1300dc6be0244f9e93a3ff38824468e3"
      unitRef="U001">8209000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_94aeaa6713cb4ffeab7b277cea4c6570"
      unitRef="U001">58060000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_38d8ba4042994cb39ff6d4548cec3dba"
      unitRef="U001">14571000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_f445f962dbd14b269f8b04e9bb586a45"
      unitRef="U001">72631000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_6b7dec9f79804f768b009529d7df4256"
      unitRef="U001">11602000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_4a6175b5941249bfb9f09ccae7a5b6a1"
      unitRef="U001">762000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_FoodServiceTechnologyMember"
      decimals="-3"
      id="Fact_8f6e044cd7d24a5e9e9e7aed8c5cd2a5"
      unitRef="U001">12364000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_d617e664f65c473fb358700361c4f41b"
      unitRef="U001">10657000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_b918e245ae5a46fe8c48751118ce8ade"
      unitRef="U001">2000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_PosAutomationAndBankingMember"
      decimals="-3"
      id="Fact_8d2e4177ded74b219f9aa15234881e95"
      unitRef="U001">10659000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_71ff88533b36480291bfde6fa7eee6d8"
      unitRef="U001">17686000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_7e21696099dc44c89ecb88fffb1e1dfc"
      unitRef="U001">12343000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_CasinoAndGamingMember"
      decimals="-3"
      id="Fact_e15147ef3c5c4fecafcce398c923e99f"
      unitRef="U001">30029000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_8f52a10179ee4cddb5b02cb2e3a8bfcd"
      unitRef="U001">4089000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_1417086c45254b968f63a500fa3fe2b4"
      unitRef="U001">998000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ProductOrServiceAxis_TransactServicesGroupMember"
      decimals="-3"
      id="Fact_25df818ea182437bac6f1cc0596fcdf7"
      unitRef="U001">5087000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_51386d92e9e545a2b97cd1c70d50060c"
      unitRef="U001">44034000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_d1750b832d604a1dbf2e894181f389cd"
      unitRef="U001">14105000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_6e0619c6bb4c465c9445e19363e414db"
      unitRef="U001">58139000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <tact:ContractWithCustomerRevenueRecognized
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_0943b0abc7284c6e803ff7da7c061daf"
      unitRef="U001">1400000</tact:ContractWithCustomerRevenueRecognized>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_0c495f37a8194cab9d4cd8868ba7bdc6">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net contract (liabilities) assets consist of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;145&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;392&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, non-current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;120&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;163&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(155&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(101&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,079&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,329&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(209&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(143&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net contract (liabilities) assets&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,178&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,018&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_56eabb85a8894d5a9404a5e08ab02446"
      unitRef="U001">145000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_c8b9aecb51ea4a4491f29e44678f748c"
      unitRef="U001">392000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7f0dffe868cb41b9a5320b13a0c76236"
      unitRef="U001">120000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_ab0dc21192ea4b67a20d4f4e8d12d5d8"
      unitRef="U001">163000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ffda6dea4f444590a99cf000b264c183"
      unitRef="U001">155000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
    <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_9253fb9d2c7f470f8b09a1e3d810c384"
      unitRef="U001">101000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_854ec3b908fd43ccb553dcfc524de259"
      unitRef="U001">1079000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_6abe0a096677400f93f8483ae868fe6b"
      unitRef="U001">1329000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_65c2fdeb64c64a3d872c369f106dadd0"
      unitRef="U001">209000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_6af25f39a9af4bd8bb455a081879055c"
      unitRef="U001">143000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <tact:ContractWithCustomerAssetLiabilityNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_e7102a795cbe40f59078e41a1febf12d"
      unitRef="U001">-1178000</tact:ContractWithCustomerAssetLiabilityNet>
    <tact:ContractWithCustomerAssetLiabilityNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e5d4a492670c47089f6c201b3773ff2e"
      unitRef="U001">-1018000</tact:ContractWithCustomerAssetLiabilityNet>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20231231"
      decimals="-5"
      id="Fact_50bb53c228de4605a7cfb3b0d6ddaad8"
      unitRef="U001">8200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240101Member"
      decimals="-5"
      id="Fact_ffe8d693acde4b2f813cb63706afb86e"
      unitRef="U001">7900000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240101Member"
      id="Fact_ff20eb041bb843448caef885ae3cbfa8">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20231231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250101Member"
      decimals="-5"
      id="Fact_6bb5379ff3ce40758fca6d3c5ea63386"
      unitRef="U001">200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="c20230101to20231231"
      id="Text_2b299792be934052a24c455928d01035">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Concentration of credit risk:&lt;/span&gt;&#160; Financial
      instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable, net were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;
              &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International Gaming Technology (&#x201c;IGT&#x201d;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Bright Group&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;11&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;IGT&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="c20230101to20231231"
      id="Text_89671cac314b4e19b53d7b979330c1ee">
&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable, net were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;
              &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International Gaming Technology (&#x201c;IGT&#x201d;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Bright Group&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;11&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;IGT&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"
      decimals="2"
      id="Fact_65047dd3d3e14f1cb9df632ff2952f61"
      unitRef="U006">0.28</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"
      decimals="2"
      id="Fact_c31c68f5d89844ec9f1e6fee8adfe262"
      unitRef="U006">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TheBrightGroupMember"
      decimals="2"
      id="Fact_d5222a17be114e76a61d1009da9e9ce0"
      unitRef="U006">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_TheBrightGroupMember"
      decimals="2"
      id="Fact_681a441f537f4a0d9883071ca23e1fe1"
      unitRef="U006">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"
      decimals="2"
      id="Fact_f6e6074d537d47bc9458edafa4b32c63"
      unitRef="U006">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"
      decimals="2"
      id="Fact_7961bacf4cc4429aaa5e4bc582f0ff63"
      unitRef="U006">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="c20230101to20231231"
      id="Text_e4c89041ce964f63a3ab9bd4f1a00125">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Engineering, design and product
        development:&lt;/span&gt; Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed as a component
      of operating expenses as incurred.&#160; We recorded $9.4 million and $8.6 million of research and development expenses in 2023 and 2022, respectively.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Costs incurred in the engineering, design and product development of a computer software product are charged to expense until technological feasibility
      has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is required in determining
      when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs has been included in cost
      of sales over the estimated life of the product.&lt;/div&gt;
</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_086fa97b8f6449538920823f0635ef17"
      unitRef="U001">9400000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_e680e3184aae4849bb03ef15781f0209"
      unitRef="U001">8600000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_640142caf0ca49c68703632c34f3c261">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Advertising:&lt;/span&gt; Advertising costs are expensed as incurred.&#160;
      Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations for 2023
      and 2022 totaled $1.7
      million and $3.1 million, respectively. These expenses include items such as consulting, professional services, tradeshows, and print
      advertising.&lt;/div&gt;
</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_1d544b8b85a14c02a4a892dfa83305f5"
      unitRef="U001">1700000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_8f339b58455c4889980c322224153b28"
      unitRef="U001">3100000</us-gaap:AdvertisingExpense>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_fec5bc44f8b047c49ba621837b28bd1b">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Income taxes:&lt;/span&gt; The income tax amounts reflected in the
      accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#x201c;Income Taxes&#x201d; (&#x201c;ASC 740&#x201d;).&#160; Deferred tax assets and liabilities are recognized for the estimated future tax consequences
      attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are measured using
      enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent that we
      believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. &lt;/div&gt;
</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_58ecfc84d1294622a88d78fe023cff0a">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Foreign currency translation:&lt;/span&gt; The financial
      position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars at the year-end exchange rate,
      related sales and expenses have been translated at the weighted average rate for the period, and shareholders&#x2019; equity has been translated at historical exchange rates.&#160; The resulting translation gains or losses, net of tax, are recorded in
      shareholders&#x2019; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related to intercompany balances, are recognized in
      Other, net on the Consolidated Statements of Operations.&lt;/div&gt;
</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="c20230101to20231231"
      id="Text_b53c3849ef1047b4a88c7708233d8454">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Share-based payments:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;"&gt;&#160;&lt;/span&gt;At December 31, 2023, we have share-based employee compensation plans,
      which are described more fully in Note 9 - Stock incentive plans. We account for those plans under the recognition and measurement principles of ASC 718, &#x201c;Compensation &#x2013; Stock Compensation.&#x201d;&#160; Share-based compensation expense is measured at the grant
      date, based on the estimated fair value of the award, and is recognized as expense over the employee&#x2019;s requisite service period.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this valuation method include
      the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in the determination of
      compensation expense.&#160; Forfeitures are recognized as they occur.&lt;/div&gt;
</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_c2650dafd7124c12aa8a667df749323e">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: italic; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;Net income (loss) per share&lt;/span&gt;:&lt;/span&gt; We report net income or loss per share in accordance with ASC 260, &#x201c;Earnings per Share (EPS).&#x201d; Under this guidance, basic EPS, which excludes dilution, is computed by dividing
      income or loss available to common shareholders by the weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were
      exercised or converted into common stock.&#160; Diluted EPS includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these
      instruments are excluded from the computation of diluted EPS.&#160; See Note 11 - Earnings per share.&lt;/div&gt;
</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="c20230101to20231231"
      id="Text_218f16b46a544c31876c9ab5e1c1bf8b">
&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;&lt;span style="font-weight: bold; font-style: italic; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Recently issued accounting pronouncements&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;:&lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;In June 2016, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) 2016-13,&#160;&lt;span style="font-style: italic;"&gt;Financial Instruments - Credit Losses
            (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/span&gt;. This ASU and its related amendments (collectively, the &#x201c;Credit Loss Standard&#x201d;) modifies the impairment model to utilize an expected loss methodology in place of the
          incurred loss methodology for financial instruments, including trade receivables, contract assets and off-balance sheet credit exposures. The Credit Loss Standard requires consideration of a broader range of information to estimate expected
          credit losses, including historical information, current economic conditions and a reasonable forecast period. This Credit Loss Standard requires that the statement of operations reflect estimates of expected credit losses for newly recognized
          financial assets as well as changes in the estimate of expected credit losses that have taken place during the period, which may result in earlier recognition of certain losses. We adopted this standard effective January 1, 2023, and this
          standard did not have a material impact on the Company&#x2019;s Consolidated Financial Statements.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;On November 27, 2023, the FASB issued ASU 2023-07,&#160;&lt;span style="font-style: italic;"&gt;Segment Reporting (Topic 280)&lt;/span&gt;.&#160;


















          The amendments improve reportable segment disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single
          reportable segment and contain other disclosure requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements
          must be applied retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial
          Statements.&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt; &lt;span style="font-family: 'Times New Roman';"&gt;&lt;br/&gt;
          &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;On December 14, 2023, the FASB issued ASU 2023-09,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;&#160;Income Taxes (Topic 740)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;.&#160; This ASU requires the use of consistent categories and greater
              disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure requirements can be applied either prospectively or
              retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.&lt;/span&gt;&lt;/div&gt;
</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_45f20a4b3277462ca95d5c449cb1d13e">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;3. Inventories&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of inventories are:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%; margin-left: auto; margin-right: auto;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt; &lt;br/&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;"&gt;Raw materials and purchased component parts&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,382&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,884&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Finished goods&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,377&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,144&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,759&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,028&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_acb339a4c4204e22963c053bc787167a">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of inventories are:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%; margin-left: auto; margin-right: auto;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt; &lt;br/&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;"&gt;Raw materials and purchased component parts&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,382&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,884&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Finished goods&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,377&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,144&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,759&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,028&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves
      contextRef="c20231231"
      decimals="-3"
      id="Fact_74604c7969954a24b62811555acecd88"
      unitRef="U001">9382000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
    <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5ec02431b9f14c87aa0b2ef080ec1bdc"
      unitRef="U001">8884000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="c20231231"
      decimals="-3"
      id="Fact_0d0244cb9a71409b857b72745d4a29ef"
      unitRef="U001">8377000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="c20221231"
      decimals="-3"
      id="Fact_327f84d015294252ab9bd578ca7b1ce8"
      unitRef="U001">3144000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_55fa0d0c670d40e2a946a9cede46c038"
      unitRef="U001">17759000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_1c786ffb9c8e468aa1fa5b5f31e72547"
      unitRef="U001">12028000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_6697c269e1004f1fa4e0153504dd2c36">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;4. Fixed assets, net&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of fixed assets, net are:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Tooling, machinery and equipment&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,562&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,859&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Furniture and office equipment&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,078&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,882&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Computer software and equipment&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,190&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,348&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Leasehold improvements&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,895&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,883&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;20,725&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;19,972&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;"&gt;Less: Accumulated depreciation and amortization&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(18,646&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(17,656&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,079&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,316&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Construction in-process&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;342&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;465&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,421&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,781&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="c20230101to20231231"
      id="Text_e566dc614a22472a8bcf8ff67893e125">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of fixed assets, net are:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Tooling, machinery and equipment&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,562&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,859&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Furniture and office equipment&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,078&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,882&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Computer software and equipment&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,190&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,348&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Leasehold improvements&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,895&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,883&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;20,725&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;19,972&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; text-indent: -9pt; margin-left: 9pt;"&gt;Less: Accumulated depreciation and amortization&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(18,646&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(17,656&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,079&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,316&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Construction in-process&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;342&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;465&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,421&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,781&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"
      decimals="-3"
      id="Fact_2893feb19acf48bdb7bc8bde56388262"
      unitRef="U001">7562000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"
      decimals="-3"
      id="Fact_394ceacf1cbb4a1aa073b91447cd689a"
      unitRef="U001">6859000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember"
      decimals="-3"
      id="Fact_34f0892e553746bca370a31e297f391d"
      unitRef="U001">2078000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember"
      decimals="-3"
      id="Fact_0a5ab989162b4abfb72039210b8d29e8"
      unitRef="U001">1882000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember"
      decimals="-3"
      id="Fact_22b2b34287654a55a1b6841102f636af"
      unitRef="U001">8190000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember"
      decimals="-3"
      id="Fact_938e85e689554eb3874bb1adb740dd63"
      unitRef="U001">8348000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"
      decimals="-3"
      id="Fact_88d3af14a4114d8d8c5ce5e4c762cc9f"
      unitRef="U001">2895000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"
      decimals="-3"
      id="Fact_832fa17b13f84bf097bed2d37e0bc825"
      unitRef="U001">2883000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231"
      decimals="-3"
      id="Fact_519e1794638a4f3bbe04dfafadf52275"
      unitRef="U001">20725000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231"
      decimals="-3"
      id="Fact_45b75e40d10546249bfee632c26fb1e1"
      unitRef="U001">19972000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20231231"
      decimals="-3"
      id="Fact_753bfcace04f4054ab1eb7914f892b26"
      unitRef="U001">18646000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5c00200d21d34e848f4318c1611ac603"
      unitRef="U001">17656000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember"
      decimals="-3"
      id="Fact_fb5278e6748c4b4a9542b0db2f4c30b8"
      unitRef="U001">2079000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember"
      decimals="-3"
      id="Fact_e2347fb127d7409d80add2708d6bb0bf"
      unitRef="U001">2316000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20231231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember"
      decimals="-3"
      id="Fact_44a9e3705977405384bf0435f6390f10"
      unitRef="U001">342000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20221231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember"
      decimals="-3"
      id="Fact_04a3ae1cb3c34cb5aedb773bde54c26a"
      unitRef="U001">465000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_de4e5aecd2d04f3babdcc91076438597"
      unitRef="U001">2421000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_7c6b9be6ffe94073806ccf30650c13f4"
      unitRef="U001">2781000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_02dae1eef11e490ba4d04083cf52b1cc">
&lt;div&gt;
    &lt;span style="font-weight: bold; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;5. Intangible assets, net &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left;"&gt;&#160;&lt;/div&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross Amount&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accumulated Amortization&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross Amount&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accumulated Amortization&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Purchased technology&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,591&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,503&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,591&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,349&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Patents&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,606&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,518&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,606&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,364&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Amortization expense was $154 thousand and
      $155 thousand in 2023 and
      2022, respectively.&#160; Amortization expense for each of the next five years ending December 31 is expected to be as follows: $88 thousand in 2024; and none thereafter.&lt;/div&gt;
</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_2c9b6e33c54f441a8bdc5b9f421a3723">
&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left;"&gt;&#160;&lt;/div&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross Amount&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accumulated Amortization&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross Amount&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accumulated Amortization&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Purchased technology&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,591&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,503&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,591&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,349&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Patents&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,606&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,518&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,606&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,364&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="Fact_df7457600a594d2f8e10abd1ef0175d0"
      unitRef="U001">1591000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="Fact_083e7da977ed492581b820ab32e93a98"
      unitRef="U001">1503000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="Fact_ad31551b8e6449b9918d5c9f1e78bed0"
      unitRef="U001">1591000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="Fact_1de04e302c1d4e57bd43adc8a46cc758"
      unitRef="U001">1349000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"
      decimals="-3"
      id="Fact_6a091555b9524432a634f6d4b119dda5"
      unitRef="U001">15000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20231231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"
      decimals="-3"
      id="Fact_639839eaf54141b5b169fe0cde794806"
      unitRef="U001">15000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"
      decimals="-3"
      id="Fact_6d9397d1d086485bab9ae140ee11142f"
      unitRef="U001">15000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20221231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"
      decimals="-3"
      id="Fact_73bf5062450b4626bae53ae2b1a37135"
      unitRef="U001">15000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20231231"
      decimals="-3"
      id="Fact_44f4861abb604618ab3920fc5bd24dab"
      unitRef="U001">1606000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20231231"
      decimals="-3"
      id="Fact_380a19d6898244cba55436dcf14ae1fb"
      unitRef="U001">1518000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20221231"
      decimals="-3"
      id="Fact_3a327f187a24479ca3bc892496271d34"
      unitRef="U001">1606000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20221231"
      decimals="-3"
      id="Fact_c0c1b0e0f46e46cca1685b329eff681e"
      unitRef="U001">1364000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_0cbe85515a3244b88188cdb00e4cd15b"
      unitRef="U001">154000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_791d486347364b40bee4918929103476"
      unitRef="U001">155000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="c20231231"
      decimals="-3"
      id="Fact_8d816c8ea302479cbcb33c916ae40630"
      unitRef="U001">88000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <tact:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo
      contextRef="c20231231"
      decimals="-3"
      id="Fact_94fc4404ec734ae7ab30ba8ba84959c4"
      unitRef="U001">0</tact:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearTwo>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_52ea3c87be4845ddb1334c5734862f42">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;6. Accrued liabilities&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of accrued liabilities are:&lt;/div&gt;

&lt;div style="text-align: left;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Salaries and compensation related&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,455&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,744&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Taxes&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;870&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;530&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Professional and consulting&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;161&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;371&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;461&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;432&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,947&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,077&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_c9185714c13c4cb4bddb0fa5041bbf3e">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of accrued liabilities are:&lt;/div&gt;

&lt;div style="text-align: left;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Salaries and compensation related&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,455&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,744&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Taxes&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;870&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;530&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Professional and consulting&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;161&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;371&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;461&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;432&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,947&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,077&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_31d0471aa53a450dba40c449787e7d4c"
      unitRef="U001">3455000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_903ea42e37f44f9c8dd5870f12c24fc4"
      unitRef="U001">2744000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_1eba2be193cc43efad3b87b1e8ae6c59"
      unitRef="U001">870000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_2c216fc2f5d94d5f8cdc75d16124c4a1"
      unitRef="U001">530000</us-gaap:TaxesPayableCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_251fe6253ddf4c40bcfcf1cc6d95bd16"
      unitRef="U001">161000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_c1dc0618274c4225b714a19795851ada"
      unitRef="U001">371000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_51651c1310b543c796622a88d00b687d"
      unitRef="U001">461000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e09dc8e7a73645219bc7e4fab1645b7f"
      unitRef="U001">432000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c6ab8f96f60f4ffcb2db151f5f842b4e"
      unitRef="U001">4947000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20221231"
      decimals="-3"
      id="Fact_90818ea7536540b291cfe5ece100efe5"
      unitRef="U001">4077000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock
      contextRef="c20230101to20231231"
      id="Text_4be85790c86e46c8a04f2516e69d3c63">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;7. Retirement savings plan&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We maintain a 401(k) plan under which all full-time employees are eligible to participate at the beginning of the month immediately following their date
      of hire.&#160; We match employees&#x2019; contributions at a rate of 50% of employees&#x2019; contributions up to the first 6% of the employees&#x2019; compensation contributed to the 401(k) plan.&#160; Our matching contributions, net of applied forfeitures, were $230 thousand and $355 thousand in 2023 and 2022, respectively.&lt;/div&gt;
</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="c20230101to20231231"
      decimals="2"
      id="Fact_982568d9ba43453ab9c8904332d1e349"
      unitRef="U006">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="c20230101to20231231"
      decimals="2"
      id="Fact_520ee659f1a24fff9ef924a989ce9477"
      unitRef="U006">0.06</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e4b1bbc75a81414fb202d8a1969f14b7"
      unitRef="U001">230000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_36d8d83fe73c44b8a490801cec5aab30"
      unitRef="U001">355000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_a429fc8dfa4349bfb0627a1706bd73fa">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;8. Borrowings&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold;"&gt;Credit Facility&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On March 13, 2020, we entered into the Loan and Security Agreement governing the Siena Credit Facility with Siena Lending Group LLC (the &#x201c;Lender&#x201d;). The
      Siena Credit Facility provides for a revolving credit line of up to $10.0 million and was originally scheduled to expire on March 13, 2023. Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus 1.75%, (ii) the federal funds rate plus 2.25%,
      and (iii) 6.50%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $245 thousand. We also pay a fee of 0.50%
      on unused borrowings under the Siena Credit Facility. Borrowings under the Siena Credit Facility are secured by a lien on substantially all the assets of the Company. Borrowings under the Siena Credit Facility are subject to a borrowing base based on
      85% of eligible accounts receivable plus the lesser of (a) $5.0 million and (b) 50% of eligible raw material and 60% of finished goods inventory.&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur additional indebtedness
      and create other liens. On July 21, 2021, the Company entered into an amendment (&#x201c;Siena Credit Facility Amendment No. 1&#x201d;) to the Siena Credit Facility. Siena Credit Facility Amendment No. 1 changed the financial covenant under the Siena Credit
      Facility from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750
      thousand under the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ended July 31, 2021. From July 31, 2021 through December 31, 2023, we remained in compliance with our excess availability
      covenant.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On July 19, 2022, the Company and the Lender entered into Amendment No. 2 (&#x201c;Siena Credit Facility Amendment No. 2&#x201d;) to the Siena Credit Facility as
      amended by Siena Credit Facility Amendment No. 1. Also on July 19, 2022, the Company and the Lender entered into an Amended and Restated Fee Letter (the &#x201c;Amended Fee Letter&#x201d;) in connection with Siena Credit Facility Amendment No. 2. Siena Credit
      Facility Amendment No. 2 did not modify the aggregate amount of the revolving commitment or the interest rate applicable to the loans.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The changes to the Siena Credit Facility provided for in Siena Credit Facility Amendment No. 2 include, among other things, the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div&gt;
      &lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 36pt; vertical-align: top; text-align: right;"&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(i)&lt;/div&gt;
            &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The extension of the maturity date from March 13, 2023 to March 13, 2025; and&lt;/div&gt;
            &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
    &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div&gt;
      &lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 36pt; vertical-align: top; text-align: right;"&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(ii)&lt;/div&gt;
            &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;The termination of the existing blocked account control agreement and entry into a new &#x201c;springing&#x201d; deposit account control agreement,
                permitting the Company to direct the use of funds in its deposit account until such time as (a) the sum of excess availability under the Siena Credit Facility and unrestricted cash is less than $5 million for 3 consecutive business days or (b) an
                event of default occurs and is continuing.&lt;/div&gt;
            &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
    &lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="text-align: justify; text-indent: -18pt; margin-left: 36pt;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;In addition, the Amended Fee Letter requires the Company, while it retains the ability to direct the use of funds in the deposit account, to maintain
      outstanding borrowings of at least $2,250,000 in principal amount. If the Company does not have the ability to direct the use of funds in
      the deposit account, then the Amended Fee Letter requires the Company to pay interest on at least $2,250,000 principal amount of loans,
      whether or not such amount of loans is actually outstanding.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On May 1, 2023, the Company and the Lender agreed to a letter amendment to the Loan and Security Agreement governing the Siena Credit Facility. Prior to such amendment,
      Section 7.1(m) of the Loan and Security Agreement governing the Siena Credit Facility required that any successor to the Company&#x2019;s former Chief Executive Officer be reasonably acceptable to the Lender. This amendment confirmed that Mr. Dillon, the
      Company&#x2019;s current Chief Executive Officer, is an acceptable successor, and applied the same requirement to any future successor to Mr. Dillon as Chief Executive Officer.&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of December 31, 2023, we had $2.3
      million of outstanding borrowings under the Siena Credit Facility and $5.9 million of net borrowing capacity available under the Siena
      Credit Facility.&lt;/div&gt;
</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_8297227aeffc42cfab4be5b507a97fa5"
      unitRef="U001">10000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember"
      decimals="4"
      id="Fact_516f7bfdf6d140f09adc31dff9e9815f"
      unitRef="U006">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember"
      decimals="4"
      id="Fact_958b135ef34342ad891032499f7227a0"
      unitRef="U006">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="4"
      id="Fact_17af209ea9fa4f2184b4ca41f2b083f9"
      unitRef="U006">0.065</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-3"
      id="Fact_5bba7c741d6d4f52b8e217ec4fa6eefe"
      unitRef="U001">245000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="4"
      id="Fact_de4bb80d8dbb4e4d8618c36a6e3e3802"
      unitRef="U006">0.005</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable
      contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_4e3a80db1c804c959892c410aa754855"
      unitRef="U006">0.85</tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable>
    <tact:DebtInstrumentFinancialCovenantEligibleInventory
      contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_cf190376d0e24618ab617a0de1919367"
      unitRef="U001">5000000</tact:DebtInstrumentFinancialCovenantEligibleInventory>
    <tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage
      contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_378d758f4f0d46fb9faf79fd1f82e031"
      unitRef="U006">0.50</tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage>
    <tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage
      contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_54037020a8f34ba4b9ccf6151f08561c"
      unitRef="U006">0.60</tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember"
      decimals="-3"
      id="Fact_9ce51f4483944accbd80e9cf91bd9a70"
      unitRef="U001">750000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <tact:DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash
      contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-6"
      id="Fact_61d32c60bba3441d97dd7f83191c0b20"
      unitRef="U001">5000000</tact:DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash>
    <tact:DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash
      contextRef="c20230101to20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      id="Fact_a5303fa6b9f0490997125249de829a99">P3D</tact:DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash>
    <tact:DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount
      contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="0"
      id="Fact_5d38e2b0669544648f66909d0deeccb1"
      unitRef="U001">2250000</tact:DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount>
    <tact:DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid
      contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="0"
      id="Fact_1cc6bd0808a242f891ba9e4ed8eeb5a9"
      unitRef="U001">2250000</tact:DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid>
    <us-gaap:SecuredDebt
      contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_2908d5ae54ce44efa4214fc9fd40ad4e"
      unitRef="U001">2300000</us-gaap:SecuredDebt>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="c20231231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_59a5c544cad145c9b44f9f3ce116902d"
      unitRef="U001">5900000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="c20230101to20231231"
      id="Text_da76e37629e04642b6231ec47d5ba588">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;9. Stock incentive plans&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Stock incentive plans&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-style: italic;"&gt;.&lt;/span&gt;&#160; We currently have two stock incentive plans: the 2005 Equity
      Incentive Plan and the 2014 Equity Incentive Plan, which provide for awards to executives, key employees, directors and consultants.&#160; The plans generally provide for awards in the form of: (i) incentive stock options, (ii) non-qualified stock
      options, (iii) restricted stock, (iv) restricted stock units (which may include performance-based vesting), (v) stock appreciation rights or (vi) limited stock appreciation rights.&#160; Awards granted under these plans have exercise prices equal to 100% of the fair market value of the common stock at the date of grant.&#160; Awards granted have a ten-year term and generally vest over a two-year to four-year period, unless automatically accelerated for certain defined events.&#160; As of May 2014, no new awards may be made under the 2005 Equity Incentive
      Plan.&#160; Under our 2014 Equity Incentive Plan, as amended in May 2023, we are authorized to grant awards of up to 2,900,000 shares of
      TransAct common stock.&#160; At December 31, 2023, 981,769 shares of common stock remained available for issuance under the 2014 Equity Incentive Plan.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Under the assumptions indicated below, the weighted-average per share fair value of stock option grants for 2023 and 2022 was $4.16 and $4.39, respectively.&#160; We also issued restricted stock
      units for certain executives and directors that vest over a specified period of time, and in some instances require achieving certain performance metrics.&#160; The weighted-average per share fair value of these restricted stock units was $7.21 and $8.43 in 2023 and 2022, respectively.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The table below indicates the key assumptions (on a weighted-average basis) used in the option valuation calculations for options granted in 2023 and 2022 and a discussion of our
      methodology for developing each of the assumptions used in the valuation model:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Expected option term (in years)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.1&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Expected volatility&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;55.6&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;51.3&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Risk-free interest rate&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.2&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.2&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Dividend yield&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Expected Option Term&lt;/span&gt; - This is the weighted
      average period of time over which the options granted are expected to remain outstanding giving consideration to our historical exercise patterns.&#160; Options granted have a maximum term of ten years and an increase in the expected term will increase compensation expense.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Expected Volatility&lt;/span&gt; &#x2013; The stock volatility
      for each grant is measured using the weighted average of historical daily price changes of our common stock over the most recent period approximately equal to the expected option term of the grant.&#160; An increase in the expected volatility factor will
      increase compensation expense.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Risk-Free Interest Rate&lt;/span&gt; - This is the U.S.
      Treasury rate in effect at the time of grant having a term approximately equal to the expected term of the option.&#160; An increase in the risk-free interest rate will increase compensation expense.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic;"&gt;Dividend Yield&lt;/span&gt; &#x2013;The dividend yield is
      calculated by dividing the annual dividend declared per common share by the weighted average market value of our common stock on the date of grant. An increase in the dividend yield will decrease compensation expense.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We recorded $0.9 and $1.2 million of share-based compensation expense for 2023
      and 2022, respectively, included primarily in general and administrative expense in our Consolidated Statements of Operations.&#160; We also
      recorded income tax benefits of $0.2 million in 2023 and $0.3 million in&#160;2022, related to such share-based compensation.&#160; At December 31,
      2023, these benefits are recorded as a deferred tax asset in the Consolidated Balance Sheets.&lt;/div&gt;

&lt;div style="text-align: left;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan, as amended, is summarized below:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Restricted Stock Units&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Number of Shares&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; Average Price*&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Number of Units&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Average Price**&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Outstanding at December 31, 2022&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,355,955&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.08&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;214,286&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Granted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;309,800&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6.91&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;210,100&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.21&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Exercised&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,875&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.25&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(58,705&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.55&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Forfeited&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(271,655&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.72&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(181,145&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.34&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Expired&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(77,750&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.90&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Outstanding at December 31, 2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,314,475&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.82&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;184,536&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.76&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;*&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;**&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;weighted average grant stock price per share&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at December 31, 2023:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Equity Awards Vested and Expected to Vest&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Equity Awards That Are Exercisable&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Awards&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Awards&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,314,475&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.82&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;316&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.0&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;968,972&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.31&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;167&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.2&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 20%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Restricted stock units&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;184,536&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,288&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.7&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;*&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;**&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;weighted-average contractual remaining term in years&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Shares that are issued upon exercise of employee stock awards are newly issued shares and not issued from treasury stock.&#160; As of December 31, 2023, unrecognized compensation cost related to non-vested equity awards granted under our stock incentive plans is approximately $4.1 million, which is expected to be recognized over a weighted average period of 3.3 years.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The total fair value of awards vested was $1.3
      million and $1.6 million during the years ended December 31, 2023 and 2022, respectively.&#160; The total intrinsic value (which
      is the amount by which the stock price exceeded the exercise price on the date of exercise) of stock options exercised during the years ended December 31, 2023
      and 2022 was $3 thousand
      and $40 thousand, respectively, and cash received from option exercises was zero in both 2023 and 2022. 1,875 and 17,500 stock options were exercised during the year ended December 31, 2023 and 2022, respectively.&#160; We recorded a realized tax provision in 2023 and 2022 from equity-based awards
      of zero and $13 thousand,
      respectively, related to options exercised.&lt;/div&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans
      contextRef="c20230101to20231231"
      decimals="INF"
      id="Fact_8e9c7df6bdf04948a714f8bd0ded311b"
      unitRef="U007">2</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans>
    <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_021b5e39389246a3ab0c0d4c849cd2f7"
      unitRef="U006">1</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember"
      id="Fact_a08a5670b4864681884811d32d4e9291">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember"
      id="Fact_c54b3f1492064b47a668c8328391682e">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember"
      id="Fact_b76b85576482449999730921a7ef7a82">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c20231231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_32efbabdd6b94432aa3bc9e77c42cba1"
      unitRef="U002">2900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c20231231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_70f3d89808a3473da052eef7e447ef29"
      unitRef="U002">981769</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_3b3927c259a6407bb5a21d9f2713572b"
      unitRef="U003">4.16</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_ac011cc7ea1f4436acad1b5148cb49d3"
      unitRef="U003">4.39</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_f148e6aaef5742d5bb7f679a70080322"
      unitRef="U003">7.21</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_877d77197da1463a958f506f2c32b25f"
      unitRef="U003">8.43</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_69bdf2cf012d43adbf999330b27be273">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The table below indicates the key assumptions (on a weighted-average basis) used in the option valuation calculations for options granted in 2023 and 2022 and a discussion of our
      methodology for developing each of the assumptions used in the valuation model:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Expected option term (in years)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.1&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Expected volatility&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;55.6&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;51.3&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Risk-free interest rate&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.2&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.2&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Dividend yield&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member"
      id="Fact_316255cde04f4d51bddef9f1ccd2bd3f">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member"
      id="Fact_5dd69a6b903e47ba862eebb8f36ef2ab">P7Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_37dd9c7b290a413fabf42e787ef1253c"
      unitRef="U006">0.556</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_7da4c83821ad4bb79450d8fd05dc9862"
      unitRef="U006">0.513</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_a2a526cbd89a4f5fbffbd039b52a103e"
      unitRef="U006">0.042</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_48abeb42b0b24ec8ba96532d8a8f5110"
      unitRef="U006">0.022</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c20230101to20231231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_351ce71614564c16b2049d83ac7510d3"
      unitRef="U006">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c20220101to20221231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_2fd0a3adddbc4ef2af4020efdebd7cf4"
      unitRef="U006">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"
      id="Fact_acbae6d092234c6d99d77ad4a2c729db">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20230101to20231231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"
      decimals="-5"
      id="Fact_53a3ca01b12a4742873cd7e30e54653f"
      unitRef="U001">900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20220101to20221231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"
      decimals="-5"
      id="Fact_a43cc12d489b4d518e93f7e58133b8d4"
      unitRef="U001">1200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_2c73d5bf9b17457a84f2edfdb01c08f0"
      unitRef="U001">200000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_ec889c89986c405889b7b4e861955721"
      unitRef="U001">300000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_629fd486a6bb45a4a9c5750f6f4cd8a8">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan, as amended, is summarized below:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Restricted Stock Units&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Number of Shares&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; Average Price*&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Number of Units&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Average Price**&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Outstanding at December 31, 2022&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,355,955&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.08&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;214,286&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Granted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;309,800&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6.91&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;210,100&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.21&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Exercised&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,875&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.25&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(58,705&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.55&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Forfeited&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(271,655&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.72&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(181,145&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.34&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Expired&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(77,750&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.90&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Outstanding at December 31, 2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,314,475&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.82&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;184,536&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7.76&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;*&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;**&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;weighted average grant stock price per share&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_bd724bf6ca174b7eb557de1261b16561"
      unitRef="U002">1355955</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_68918c595b9546dd8b7ee89524ee2c58"
      unitRef="U003">9.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_9c80286bd7044b00bba787ac9a8efa3a"
      unitRef="U002">214286</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20221231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_93bd76dcbd614e47a8964e9d97839cf1"
      unitRef="U003">9.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_00d57a6c3fc843be95295f38c1115c27"
      unitRef="U002">309800</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_6a3560b0ebaa4e579a2b9eae7f681730"
      unitRef="U003">6.91</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_74bb467fb5a24d6ea3d3903ca3450ec9"
      unitRef="U002">210100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_fad0c556cf5042e4b75196fd21a8669a"
      unitRef="U003">7.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_71494ec4ba9e42b08de196aeacba533c"
      unitRef="U002">1875</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_aa335ec88d4748928cc6d03b6b2bc4e9"
      unitRef="U003">4.25</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_ad20d00339e64e01aa313455f36b0617"
      unitRef="U002">58705</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_72baa35d008d403ab3802974b4dfb21b"
      unitRef="U003">9.55</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_a4b62c33d6594aa0a1989002175b3721"
      unitRef="U002">271655</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_43c14488eea84beb979729a6a9d2ae66"
      unitRef="U003">7.72</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_6c67fb1b9248475184d380a512c61297"
      unitRef="U002">181145</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_d6cdddb9785d467d91882a103c9731d1"
      unitRef="U003">8.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_2e1c1d6eac6b422c97bea3ed707bc6b5"
      unitRef="U002">77750</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_70d014c4d26a44bf9e3975e4a7a520e6"
      unitRef="U003">8.9</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="INF"
      id="Fact_1939502ae2f6441c95e77c4bfb57a463"
      unitRef="U002">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations>
    <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_0a674bb3a8d84a07b3b140408e135934"
      unitRef="U003">0</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_67268d6a6d594924b008e4606eca564d"
      unitRef="U002">1314475</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_7da67e0fdc4f4416990d4f3a3b740abf"
      unitRef="U003">8.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_9abcaf541979470e84b4b7e51e553e6a"
      unitRef="U002">184536</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_02b5def163b84a429cc557c62b9e969e"
      unitRef="U003">7.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_b4ce87dfa5d941c482369c20af06926f">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at December 31, 2023:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Equity Awards Vested and Expected to Vest&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Equity Awards That Are Exercisable&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Awards&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Awards&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,314,475&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8.82&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;316&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.0&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;968,972&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9.31&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;167&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.2&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 20%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Restricted stock units&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;184,536&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,288&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.7&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;*&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;**&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;weighted-average contractual remaining term in years&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_b82743a397ef4917846e6c1f640b3e31"
      unitRef="U002">1314475</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_5fc82a9bb9054b9ba940bab36fd33ae5"
      unitRef="U003">8.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="-3"
      id="Fact_16666cb994004604ae630aaefc61d1de"
      unitRef="U001">316000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      id="Fact_f3cf1b4ba784456295d8021a47307be1">P4Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_d4c227cbd2c44034b658666b7d9681f7"
      unitRef="U002">968972</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_58e707c45fd543948cb01964e8775315"
      unitRef="U003">9.31</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="c20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="-3"
      id="Fact_c765f65a696548859fc00a76f2734403"
      unitRef="U001">167000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      id="Fact_7de00f619f8e474aa10d9a9f4fc97810">P2Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_59df4295fa0e465c828e2e50600cd61d"
      unitRef="U002">184536</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="c20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_cba63fe248ca49f99baba4cc7796d1aa"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="-3"
      id="Fact_b020b90fd13d4b319e93a42f52ff12e4"
      unitRef="U001">1288000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="c20230101to20231231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      id="Fact_99abf1a8c10d40528a4910072e315749">P2Y8M12D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="c20231231"
      decimals="-5"
      id="Fact_2f7e0f1af43543b682f2560decb6b4da"
      unitRef="U001">4100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20230101to20231231"
      id="Fact_8c21b2263d1e4386bbb26c58fd8390a3">P3Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_6799bdd6d6b14c72a28ec21f187b7ad6"
      unitRef="U001">1300000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_9e369234ecee4311907364d6cf794aae"
      unitRef="U001">1600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a5401416516a4479b19649b9707607a4"
      unitRef="U001">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_0f901423a9fa4796ba9809c8b21f15dd"
      unitRef="U001">40000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ed75b3da4b2c4ea7883f48dc345bd9c8"
      unitRef="U001">0</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_cb957c645a354025a9350f0c95f45da6"
      unitRef="U001">0</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20230101to20231231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_04a181a7fd744f25b776ae2fd5f7366d"
      unitRef="U002">1875</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20220101to20221231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_d2fa87d63da74733bc824da0a0a84b94"
      unitRef="U002">17500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_f4839ff285d6424e9cbc1b2615627d72"
      unitRef="U001">0</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_37ad3b0ffacc415ebc1759154a010496"
      unitRef="U001">-13000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_762da0a85f5b417aa5d8f3d477394e38">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;10. Income taxes&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of the income tax expense (benefit) are as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Current:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Federal&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;149&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;State&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;51&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;110&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Foreign&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;85&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(83&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;135&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;176&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Federal&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;825&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,924&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;State&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;132&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(217&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Foreign&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;63&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,020&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(2,141&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Income tax expense (benefit)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,155&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,965&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"&gt; &lt;br/&gt;
      &lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"&gt;Our effective tax rates were &lt;/span&gt;19.6%&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"&gt; and (&lt;/span&gt;24.9%&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"&gt;) for &lt;/span&gt;2023&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"&gt; and &lt;/span&gt;2022&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"&gt;, respectively.&#160; The tax benefit recorded for 2022 includes the recognition of stock option
        cancellations for which no benefit was realized&lt;/span&gt;.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;At December 31, 2023, we have no federal net operating loss carryforwards, $0.1
      million of tax-effected state net operating loss carryforwards, $0.7 million in R&amp;amp;D credit carryforwards, and no state tax credit carryforwards.&#160; Foreign income before taxes were $322 thousand and $24 thousand in 2023 and 2022, respectively.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated Financial Statements.&#160; Our
      deferred tax assets and liabilities were comprised of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred tax assets:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Federal net operating losses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,297&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Foreign net operating losses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;733&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;676&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;State net operating losses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;84&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;149&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accrued severance&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;165&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Capitalized R&amp;amp;D expenses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,127&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,708&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory reserves&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;896&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;648&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;31&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;41&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Warranty reserve&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;24&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock compensation expense&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;790&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;769&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other accrued compensation&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;404&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;222&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;R&amp;amp;D credit carryforward&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;695&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,238&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="margin-left: 9pt; text-indent: 0pt;"&gt;Other Assets&lt;br/&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;360&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#x2013;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other liabilities and reserves&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;463&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross deferred tax assets&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,309&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,228&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Valuation allowance&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(719&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(656&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -18pt; margin-left: 45pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net deferred tax assets&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,590&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,572&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred tax liabilities:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Depreciation and amortization&lt;br/&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;237&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;196&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;49&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;49&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net deferred tax liabilities&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;286&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;245&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net deferred tax assets&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,304&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,327&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of December 31, 2023 and 2022, we had a $719 thousand and $656 thousand,
      respectively, of valuation allowances on our net operating loss carryforwards. The following table summarizes the activity recorded in the valuation allowance on the deferred tax assets:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;656&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;733&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Subtractions released to income tax provisions&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(77&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Additions charged to income tax provision&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;63&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;719&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;656&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;&lt;br/&gt;
        &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;
      &lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Federal statutory rate&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;21.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;21.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;R&amp;amp;D credit&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(5.9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.3&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;Foreign-derived intangible income deduction &lt;br/&gt;
          &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;(1.7&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;)&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#x2013;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock award excess tax benefit&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.4&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;State income taxes, net of federal income taxes&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.5&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.1&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Business meals and entertainment&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.3&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Executive compensation limitation&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.6&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Uncertain tax positions&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.5&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.5&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock option cancellations&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.6&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1.9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Valuation allowance and tax accruals&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.3&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.1&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Effective tax rate&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;19.6&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;24.9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;We had $197 thousand and $142 thousand of total gross unrecognized tax benefits at December 31, 2023
      and 2022, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not
      aware of any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning
      and end of the year is as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;142&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;144&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Tax positions taken during the current period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;83&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;26&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Lapse of statute of limitations&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;197&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;142&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We expect $40 thousand of the $197 thousand of unrecognized tax benefits will reverse in 2024
      upon the expiration of the statute of limitations.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We recognize interest and penalties related to uncertain tax positions in the income tax provision.&#160; We have accrued interest and penalties related to
      uncertain tax positions of $25 thousand and $34
      thousand as of December 31, 2023 and 2022,
      respectively.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We are subject to U.S. federal income tax as well as income tax of certain state and foreign jurisdictions.&#160; We have substantially concluded all U.S.
      federal income tax, state and local, and foreign tax matters through 2019.&#160; However, our federal tax returns for the years 2020 through 2023 remain open to examination. Various state and foreign tax jurisdiction tax years remain open to examination
      as well, though we believe that any additional assessment would be immaterial to the Consolidated Financial Statements.&lt;/div&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_4c3ec231e79241219f4c528df41dbdac">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of the income tax expense (benefit) are as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Current:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Federal&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;149&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;State&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;51&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;110&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Foreign&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;85&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(83&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;135&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;176&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Federal&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;825&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,924&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;State&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;132&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(217&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Foreign&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;63&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,020&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(2,141&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Income tax expense (benefit)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,155&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,965&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_bb1610c3724a4153b9c8175c584af5fc"
      unitRef="U001">-1000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_2420613f26d54a1497bd564a39046a55"
      unitRef="U001">149000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_76e041c54fd349028a68611e89a82b21"
      unitRef="U001">51000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_d030267bf6fd40f1b607bec6fad3d1e1"
      unitRef="U001">110000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e06746d2f5d545f1b9ac2e8f1ed6b3aa"
      unitRef="U001">85000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_9dc5ceda9b594c6dae184e8db851fbdd"
      unitRef="U001">-83000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_6efe53de23274fc384130289fcc0c435"
      unitRef="U001">135000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_fde6c18697434495ad853371ed7db549"
      unitRef="U001">176000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_da316dc24e0b4fe38c099060bf7fa263"
      unitRef="U001">825000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_f041337a307f4e8f84a6c90ba405b520"
      unitRef="U001">-1924000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a9c2bf2a3d5b424398ae775958417225"
      unitRef="U001">132000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3fe67797571b4c488c0fd250ceb7c4ca"
      unitRef="U001">-217000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e9555193cbac4f62b4b53bdf55c8d45a"
      unitRef="U001">63000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_75f8ab6565a64b16a8d6d23eaf8b1ea3"
      unitRef="U001">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_ec5b62c5ee1147b6873951bc6cab7408"
      unitRef="U001">1020000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_3c2cdbf83b294bef89adc2267cdabb39"
      unitRef="U001">-2141000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_71d4f884893041198e360a0625421878"
      unitRef="U001">1155000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_e5881fa84ed8437597357a4046825a66"
      unitRef="U001">-1965000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_01b66ad1e17b4f43a1b2334001c43748"
      unitRef="U006">0.196</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_b87c5e794f2543e284e3dfa5a29c279b"
      unitRef="U006">0.249</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <tact:OperatingLossCarryforwardsNotSubjectToExpiration
      contextRef="c20231231_IncomeTaxAuthorityAxis_DomesticCountryMember"
      decimals="-6"
      id="Fact_cde764e1792745b19667ddc17e2dd317"
      unitRef="U001">0</tact:OperatingLossCarryforwardsNotSubjectToExpiration>
    <tact:OperatingLossCarryforwardsSubjectToExpiration
      contextRef="c20231231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember"
      decimals="-5"
      id="Fact_f881db6fbbf440f28c5925476b03adb1"
      unitRef="U001">100000</tact:OperatingLossCarryforwardsSubjectToExpiration>
    <tact:TaxCreditCarryforwardAmountSubjectToExpiration
      contextRef="c20231231_TaxCreditCarryforwardAxis_ResearchMember"
      decimals="-5"
      id="Fact_c96831fd0b18448f83ae80c99d196908"
      unitRef="U001">700000</tact:TaxCreditCarryforwardAmountSubjectToExpiration>
    <tact:TaxCreditCarryforwardAmountSubjectToExpiration
      contextRef="c20231231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember"
      decimals="-6"
      id="Fact_4b6977bb26cc43cabc6929d6227d7bf4"
      unitRef="U001">0</tact:TaxCreditCarryforwardAmountSubjectToExpiration>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_5754f8e599924bd6aef6e361c6deb18f"
      unitRef="U001">322000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_103076e634be48adbcb0554286f5299e"
      unitRef="U001">24000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_623cf2a1daa64270a86c67eb451df3ce">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated Financial Statements.&#160; Our
      deferred tax assets and liabilities were comprised of the following:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred tax assets:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Federal net operating losses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,297&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Foreign net operating losses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;733&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;676&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;State net operating losses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;84&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;149&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Accrued severance&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;165&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Capitalized R&amp;amp;D expenses&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,127&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,708&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Inventory reserves&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;896&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;648&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;31&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;41&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Warranty reserve&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;24&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock compensation expense&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;790&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;769&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other accrued compensation&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;404&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;222&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;R&amp;amp;D credit carryforward&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;695&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,238&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="margin-left: 9pt; text-indent: 0pt;"&gt;Other Assets&lt;br/&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;360&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#x2013;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other liabilities and reserves&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;463&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross deferred tax assets&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,309&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,228&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Valuation allowance&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(719&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(656&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -18pt; margin-left: 45pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net deferred tax assets&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,590&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,572&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred tax liabilities:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Depreciation and amortization&lt;br/&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;237&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;196&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;49&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;49&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 36pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net deferred tax liabilities&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;286&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;245&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net deferred tax assets&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,304&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,327&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b08d3cfb08b2469b8cd8cda3a1c5fea1"
      unitRef="U001">0</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="c20221231"
      decimals="-3"
      id="Fact_276069ffa70a4126a8b8778a1f224891"
      unitRef="U001">2297000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="c20231231"
      decimals="-3"
      id="Fact_908a196e6779433ebdfd1230dc269569"
      unitRef="U001">733000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="c20221231"
      decimals="-3"
      id="Fact_83e0c82269174b6aa0b8e558e7f73db5"
      unitRef="U001">676000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="c20231231"
      decimals="-3"
      id="Fact_dec7110d36bc4243ab1c1c62fe34e04a"
      unitRef="U001">84000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
      contextRef="c20221231"
      decimals="-3"
      id="Fact_439c70d5b2eb4080bcca929f49e6a108"
      unitRef="U001">149000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments
      contextRef="c20231231"
      decimals="-3"
      id="Fact_0fc097b6b5d8406683223e79fddc1719"
      unitRef="U001">165000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments
      contextRef="c20221231"
      decimals="-3"
      id="Fact_4235d5a97f004dc697ff2e48de9c0a59"
      unitRef="U001">0</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ed79f564998d4e388ed537732351af4d"
      unitRef="U001">3127000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e5a3c18663fe48ae84176691ffd86936"
      unitRef="U001">1708000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="c20231231"
      decimals="-3"
      id="Fact_8f00755040a84140971a0049d0437e64"
      unitRef="U001">896000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="c20221231"
      decimals="-3"
      id="Fact_226b1be7adae4cd38a68f00433442114"
      unitRef="U001">648000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="c20231231"
      decimals="-3"
      id="Fact_af5686f295da4e5ba3eac27d62e43129"
      unitRef="U001">31000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="c20221231"
      decimals="-3"
      id="Fact_82e22840b4b6461cb2cb463bfedd5032"
      unitRef="U001">41000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="c20231231"
      decimals="-3"
      id="Fact_33882a93dfef4f22b3c35c20f988d444"
      unitRef="U001">24000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="c20221231"
      decimals="-3"
      id="Fact_8bd9336e804546ef97309e3c469a1064"
      unitRef="U001">17000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="c20231231"
      decimals="-3"
      id="Fact_28f455310dca461b9d920b4bfc0b0430"
      unitRef="U001">790000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="c20221231"
      decimals="-3"
      id="Fact_9ad3eb3c7853496eb3de7b22aa13248d"
      unitRef="U001">769000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="c20231231"
      decimals="-3"
      id="Fact_4cdc876f789b47dc9b213c75002fdd79"
      unitRef="U001">404000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="c20221231"
      decimals="-3"
      id="Fact_59794144eec94dfca29f7bfe0b76dc85"
      unitRef="U001">222000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="c20231231"
      decimals="-3"
      id="Fact_3c2630abc80543ac890ca5398342f31c"
      unitRef="U001">695000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5a89dbac919643fe9a772a0adbc70090"
      unitRef="U001">1238000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="c20231231"
      decimals="-3"
      id="Fact_fdfff680aedd460790567d71d592a00c"
      unitRef="U001">360000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="c20221231"
      decimals="-3"
      id="Fact_42f52d9925c84d0195e8b7d39495b348"
      unitRef="U001">0</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="c20231231"
      decimals="-3"
      id="Fact_aedfc5327787471bb03d23855b278dbe"
      unitRef="U001">0</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="c20221231"
      decimals="-3"
      id="Fact_bbb82007f00b426d88cab0c07c33f73a"
      unitRef="U001">463000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="c20231231"
      decimals="-3"
      id="Fact_e8c6e2ce633f4b9189252fc2fc2d2bd9"
      unitRef="U001">7309000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e90149f9727f49189b786b32add8c192"
      unitRef="U001">8228000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="c20231231"
      decimals="-3"
      id="Fact_1dfef2117fdd48359d22e1acbb5eb609"
      unitRef="U001">719000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="c20221231"
      decimals="-3"
      id="Fact_3294f37ef57c4a68bfff5dcca61e6429"
      unitRef="U001">656000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_5dbae949644b4c17a16e6bfd7ddb3b06"
      unitRef="U001">6590000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_408f793965804b30ae6fb06840faeeaa"
      unitRef="U001">7572000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="c20231231"
      decimals="-3"
      id="Fact_e144cec0e4a043699ae724d383bd1ee2"
      unitRef="U001">237000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5118cb250a28401ebe3344200e577711"
      unitRef="U001">196000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="c20231231"
      decimals="-3"
      id="Fact_92bafa4f01084e5293287b7b6e18c143"
      unitRef="U001">49000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="c20221231"
      decimals="-3"
      id="Fact_9373715868384134bd615fdfd5bd3af8"
      unitRef="U001">49000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7d352e4ad9dd4596bfb5fd2476974d20"
      unitRef="U001">286000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="c20221231"
      decimals="-3"
      id="Fact_e442a8dcb1c2469baf19126d1777211c"
      unitRef="U001">245000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c2b3838f80f14526b2f333547b5d2a7b"
      unitRef="U001">6304000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_844a3a10f85d47f3a7670b5d716c326b"
      unitRef="U001">7327000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="c20230101to20231231"
      id="Text_ee4413c3e26a485394a68ad2b5355c39">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;As of December 31, 2023 and 2022, we had a $719 thousand and $656 thousand,
      respectively, of valuation allowances on our net operating loss carryforwards. The following table summarizes the activity recorded in the valuation allowance on the deferred tax assets:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;656&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;733&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Subtractions released to income tax provisions&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(77&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Additions charged to income tax provision&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;63&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;719&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;656&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_f25aca074e6145319c3f47192babedb1"
      unitRef="U001">719000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_3eb60425cb79485ca4878330b202b242"
      unitRef="U001">656000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_68291660b7cd48c984fae85e60896912"
      unitRef="U001">656000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_ded7bfc2328949609909fbe58235b8b7"
      unitRef="U001">733000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="c20230101to20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_ed16ff6905d84c8288d2d7279b2cc69a"
      unitRef="U001">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="c20220101to20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_f4fd308ee4824cf7b6b3d534b6d6600a"
      unitRef="U001">77000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c20230101to20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_0d30774ebc1142099bccca45629b445a"
      unitRef="U001">63000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c20220101to20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_ec90af334f8f4c6ea580ac3211922440"
      unitRef="U001">0</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20231231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_25c5db48310e49f1bf8d029b39d8c16e"
      unitRef="U001">719000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20221231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_bd9227ae887d4988aa203e7dae1f40e1"
      unitRef="U001">656000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_94a3f824a5244ad89375b1904485abe4">
&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;
      &lt;span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Federal statutory rate&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;21.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;21.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;R&amp;amp;D credit&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(5.9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.3&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;Foreign-derived intangible income deduction &lt;br/&gt;
          &lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;(1.7&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;)&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#x2013;&lt;/td&gt;

    &lt;td colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock award excess tax benefit&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.4&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;State income taxes, net of federal income taxes&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.5&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.1&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Business meals and entertainment&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.3&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Executive compensation limitation&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.6&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Uncertain tax positions&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.5&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.5&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Stock option cancellations&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.6&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1.9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Valuation allowance and tax accruals&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.0&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Other&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.3&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.1&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Effective tax rate&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;19.6&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;24.9&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_8bb78ef53810498196b46555cab4a676"
      unitRef="U006">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_a4271732e56049ce9aeac8ac7779b23d"
      unitRef="U006">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_344f5df75823467db3405defcba96ab5"
      unitRef="U006">0.059</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_47fda63f9b044d2b85b8bd3abd6ed959"
      unitRef="U006">-0.043</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_61b054d9b967443da7108db57c4be82b"
      unitRef="U006">0.017</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_5f26be1076fe4ccd9991d9600304c43d"
      unitRef="U006">0</us-gaap:EffectiveIncomeTaxRateReconciliationFdiiPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_ff12f9cda6164ee5ac42be9cea2757b2"
      unitRef="U006">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_595b64ddd2b24d768c8dcb6f5958eccb"
      unitRef="U006">0</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_0558bf0fb0fc48c5892ccff19f100d44"
      unitRef="U006">0.025</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_7141f0cfaa8444b684e93ac30fb8fc5f"
      unitRef="U006">0.011</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_c8bdc7681b1f46668c11033f9479c5ec"
      unitRef="U006">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_730ed07f6e66426897998a11f7f7df81"
      unitRef="U006">0</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
    <tact:EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_76019f670f3a4db8b672b44c0b8b5271"
      unitRef="U006">0.006</tact:EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent>
    <tact:EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_76a2e96d947d4780a9e2a4fc25531a00"
      unitRef="U006">0</tact:EffectiveIncomeTaxRateReconciliationExecutiveCompensationLimitationPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_de6b10ba817140f1832412e4adb47301"
      unitRef="U006">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_2e466d23a97c4bf1890629202e6ab92f"
      unitRef="U006">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_1f84171dbe96467b87a788981a88313c"
      unitRef="U006">0.006</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_1084dbbd8f204147837a3563cbfcbdf1"
      unitRef="U006">-0.019</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_07d3d7a790ec48c99bfc2742ef064ef0"
      unitRef="U006">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_193246a9b88e496ea6460fe4c9908053"
      unitRef="U006">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_e170284974804180afdabdaaee8aa0b8"
      unitRef="U006">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_26b371f76566465dae1a41dd90321cc4"
      unitRef="U006">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20230101to20231231"
      decimals="3"
      id="Fact_1584ffbd0d484b16acdaeb115d412ee9"
      unitRef="U006">0.196</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20220101to20221231"
      decimals="3"
      id="Fact_43231cd535e2468babefa8cefad62047"
      unitRef="U006">0.249</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock
      contextRef="c20230101to20231231"
      id="Text_716c1805467e49bea464193a16518b0f">
&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;We had $197 thousand and $142 thousand of total gross unrecognized tax benefits at December 31, 2023
      and 2022, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not
      aware of any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning
      and end of the year is as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;142&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;144&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Tax positions taken during the current period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;83&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;26&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Lapse of statute of limitations&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(28&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;197&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;142&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="c20231231"
      decimals="-3"
      id="Fact_a812402d28904d8e89cfb9e3c9e2c4cb"
      unitRef="U001">197000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="c20221231"
      decimals="-3"
      id="Fact_bf16dab6550b4b0ba469c4a728979998"
      unitRef="U001">142000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20221231"
      decimals="-3"
      id="Fact_5e747ae73c414cb9a74f9e9f5a6f90c7"
      unitRef="U001">142000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20211231"
      decimals="-3"
      id="Fact_ab4c9e29ca814a01bbf3d9ddbb9bbdc4"
      unitRef="U001">144000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_c9ea13ccd2fb47ed9dfd04db754b64a9"
      unitRef="U001">83000</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
    <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_64795f8936c047ea873ef1ccd6f9668c"
      unitRef="U001">26000</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_a7580d41ba8641d7b2ca20b30bc69044"
      unitRef="U001">28000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_e55a614de7474b5da767a87686a9da2e"
      unitRef="U001">28000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20231231"
      decimals="-3"
      id="Fact_0d0dee4dd4f44344b4969cc8939f70d3"
      unitRef="U001">197000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20221231"
      decimals="-3"
      id="Fact_d50920bdd16c4d55b6b9ef26946f21e9"
      unitRef="U001">142000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible
      contextRef="c20231231"
      decimals="-3"
      id="Fact_eae63a42422c492d8f467cddedb460d0"
      unitRef="U001">40000</us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="c20231231"
      decimals="-3"
      id="Fact_382ce1c11d6e41b1b174e8dd4f1f1be8"
      unitRef="U001">197000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b7bf15207fc149dfa18dba97a1504339"
      unitRef="U001">25000</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="c20221231"
      decimals="-3"
      id="Fact_925a85bd77d4452b9ff120450b434335"
      unitRef="U001">34000</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="c20230101to20231231"
      id="Text_e8296c5992864d07bfb0bb75feff0aeb">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;11. Earnings per share&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Earnings per share was computed as follows (in thousands, except per share amounts):&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income (loss)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,748&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(5,936&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Shares:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic:&#160; Weighted average common shares outstanding&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,951&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,905&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock method&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;70&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted:&#160; Weighted average common and common equivalent shares outstanding&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,021&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,905&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.48&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.60&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.47&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.60&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, restricted stock
      units and performance stock awards, when the average market price of the common stock is lower than the exercise price of the related stock award during the period.&#160; These outstanding stock awards are not included in the computation of diluted
      earnings per share because the effect would be anti-dilutive.&#160; Furthermore, in periods when a net loss is reported, such as in 2022, basic and diluted net loss per common share are calculated using the same method.&#160; Anti-dilutive stock awards
      excluded from the computation of earnings per dilutive share were 1.1 million and 1.5 million at December 31, 2023 and 2022, respectively.&lt;/div&gt;
</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_9c1248e04f7c415cad93855f7da486ad">
&lt;div style="text-align: justify; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt;"&gt;Earnings per share was computed as follows (in thousands, except per share amounts):&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income (loss)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,748&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(5,936&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Shares:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic:&#160; Weighted average common shares outstanding&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,951&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,905&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock method&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;70&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted:&#160; Weighted average common and common equivalent shares outstanding&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,021&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,905&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.48&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.60&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.47&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.60&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_63de5e5d268e48628f9e9e185b039b71"
      unitRef="U001">4748000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_7c2105d87cc94d588aa265d408ff25fc"
      unitRef="U001">-5936000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_28cd55936a284be28d9ac77a480509fb"
      unitRef="U002">9951000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_bc3f8a9ae28349a2ad9987486c464927"
      unitRef="U002">9905000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_9b43027802314012907b4155acd23225"
      unitRef="U002">70000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_801f4bb862b2425dbf258204339bf084"
      unitRef="U002">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_cd32c19f5d294d7380081747874ed79d"
      unitRef="U002">10021000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_9799f59d44ae474db9fb0d3387b8b7d7"
      unitRef="U002">9905000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230101to20231231"
      decimals="2"
      id="Fact_698b6c85bff94602a758e4c19a710cf0"
      unitRef="U003">0.48</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20220101to20221231"
      decimals="2"
      id="Fact_7ccd5ebfeb1a46e1bcb00ebe09a20a63"
      unitRef="U003">-0.6</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230101to20231231"
      decimals="2"
      id="Fact_4a766f6f981b41cebbdee2854ae8f960"
      unitRef="U003">0.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20220101to20221231"
      decimals="2"
      id="Fact_0e9d4ddc6142410f91d7fb0961808514"
      unitRef="U003">-0.6</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c20230101to20231231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"
      decimals="-5"
      id="Fact_e0adf58e5d2146a495bd0a9f49bbf7c2"
      unitRef="U002">1100000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c20220101to20221231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"
      decimals="-5"
      id="Fact_ec99bdbfc9f3439cbeb4650bd0ff4aad"
      unitRef="U002">1500000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:TreasuryStockTextBlock
      contextRef="c20230101to20231231"
      id="Text_afa424e1d2f745359b3dc0cccf9a8c42">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;12. Stock repurchase program&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We use the cost method to account for treasury stock purchases, under which the price paid for the stock is charged to the treasury stock account.&#160;
      Repurchases of our common stock are accounted for as of the settlement date.&#160; During 2023 and 2022, we did not repurchase any shares of our common stock.&#160;
      From January 1, 2005 through December 31, 2019, we repurchased a total of 4,044,842 shares of common stock for $32.1 million, at an average price of $7.94
      per share.&lt;/div&gt;
</us-gaap:TreasuryStockTextBlock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20220101to20221231"
      decimals="INF"
      id="Fact_38ddf6ce5bc340d8b8f91716c1ab344f"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20230101to20231231"
      decimals="INF"
      id="Fact_24f064af4faf4ff88cbe63b3f81d3c38"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20050101to20191231"
      decimals="0"
      id="Fact_3dc87e061b664caabd4f17020c306c75"
      unitRef="U002">4044842</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20050101to20191231"
      decimals="-5"
      id="Fact_d82fb2b9c61e484588577e2aa3ea4634"
      unitRef="U001">32100000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c20050101to20191231"
      decimals="2"
      id="Fact_927097213a2f4ebc9dfaace764d3278e"
      unitRef="U003">7.94</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_939bef70c0d64540892a844d8725a94a">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;13. Geographic area information&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are based on the
      location of the customer and asset.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,060&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;44,034&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,571&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,105&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;72,631&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,139&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Fixed assets, net:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;945&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,252&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,476&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;529&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,421&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,781&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Sales to international customers were 20%
      and 24% of total sales in 2023
      and 2022, respectively.&#160; Sales to Europe represented 64% and 68%, sales to the Pacific Rim (which includes Australia and Asia) represented 29% and 28%, and sales to Canada
      represented 4%&#160; of total international sales in both 2023 and 2022, respectively.&#160; International long-lived assets consist of net fixed assets located at
      our foreign subsidiary in the UK, as well as our contract manufacturer in Thailand.&lt;/div&gt;
</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_4a17fe339a4c458782cf20512587781c">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are based on the
      location of the customer and asset.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,060&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;44,034&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,571&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;14,105&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;72,631&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;58,139&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Fixed assets, net:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;945&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,252&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,476&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;529&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,421&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,781&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_5f60ccc38fe74134be83dfb9a67ceabd"
      unitRef="U001">58060000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_7711e1d2530744faa4e40ebb8c952cde"
      unitRef="U001">44034000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_e5f382c3df70435e83ae0abceceb5b0f"
      unitRef="U001">14571000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_542d49457f57442ab1fcd6d7e39c80e3"
      unitRef="U001">14105000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_89b6984b36934bce819aa1027f09f730"
      unitRef="U001">72631000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_df33ce2383ca41ab87ed79e7cd6a96bb"
      unitRef="U001">58139000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_436ad15134e84349abfe7ba360a12159"
      unitRef="U001">945000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_bffdfe5f923342beb6f39611a2afb7e8"
      unitRef="U001">2252000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_2c046cb284d64c5185145c1851531a2c"
      unitRef="U001">1476000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_418d5d3938804beba23366fb6fd83a6c"
      unitRef="U001">529000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_5703307abe3d499e99dcb4fea829d57f"
      unitRef="U001">2421000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20221231"
      decimals="-3"
      id="Fact_c6028d80f519401aa2698ceb60bf627d"
      unitRef="U001">2781000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember"
      decimals="2"
      id="Fact_bc3a58b7d51f48709f36e36915a8ee27"
      unitRef="U006">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember"
      decimals="2"
      id="Fact_fd615b87b9d14b5092e11de3a2a8efdb"
      unitRef="U006">0.24</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember"
      decimals="2"
      id="Fact_56d7cdaf215442a884415134c1e72344"
      unitRef="U006">0.64</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember"
      decimals="2"
      id="Fact_1eeb7a05c8a944cb995543fd66901bcb"
      unitRef="U006">0.68</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember"
      decimals="2"
      id="Fact_a4cf96a4c0fa4972af55d6d7a478ebe2"
      unitRef="U006">0.29</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember"
      decimals="2"
      id="Fact_ea958b68f0564c8ba89e2a71622c07c8"
      unitRef="U006">0.28</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20220101to20221231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA"
      decimals="2"
      id="Fact_f3b669174b1045a4aa1d5e7db3efc1da"
      unitRef="U006">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20230101to20231231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA"
      decimals="2"
      id="Fact_9bb8db7b5e5c4ee9bd717e47cbc7750e"
      unitRef="U006">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="c20230101to20231231"
      id="Text_5a7dc2c2b1cb4061a483a480c2de1e99">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;14. Leases&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"&gt;Operating lease expense was $&lt;/span&gt;1.1 million and $1.0&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"&gt; million for the years ended December 31, &lt;/span&gt;2023&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"&gt; and &lt;/span&gt;2022&lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"&gt;,
        respectively, and is reported as &lt;/span&gt;&#x201c;Cost of sales,&#x201d; &#x201c;Engineering, design and product development expense,&#x201d; &#x201c;Selling and marketing expense,&#x201d; and &#x201c;General and administrative expense&#x201d; in the Consolidated Statements of Operations.&#160; &lt;span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"&gt;Operating costs include short-term lease costs.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating cash outflows from leases&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,013&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;967&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following summarizes additional information related to our leases:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Weighted average remaining lease term (in years)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.7&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.7&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Weighted average discount rate&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.4&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.5&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The maturity of the Company&#x2019;s operating lease liabilities are as follows (in thousands):&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2024&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;985&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2025&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;713&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2026&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;22&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total undiscounted lease payments&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,720&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Less imputed interest&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;71&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total lease liabilities&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,649&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseExpense
      contextRef="c20230101to20231231"
      decimals="-5"
      id="Fact_391a07d322bb40c58334f824a572c6ab"
      unitRef="U001">1100000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="c20220101to20221231"
      decimals="-5"
      id="Fact_d53d9fd3a9f14fdba5ca7972e3915e9f"
      unitRef="U001">1000000</us-gaap:OperatingLeaseExpense>
    <tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_4eab533f0844421ebd1a6dd3b33f2c58">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating cash outflows from leases&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,013&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;967&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="c20230101to20231231"
      decimals="-3"
      id="Fact_e8607da10c23426388d3c218d7845b5e"
      unitRef="U001">1013000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="c20220101to20221231"
      decimals="-3"
      id="Fact_0a188f787d4642f3b4501be8aa6a5f5e"
      unitRef="U001">967000</us-gaap:OperatingLeasePayments>
    <tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_5468d94eba274b49957e07039b061b03">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following summarizes additional information related to our leases:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Years Ended December 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Weighted average remaining lease term (in years)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.7&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2.7&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Weighted average discount rate&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.4&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.5&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20231231"
      id="Fact_54aeeedb2ccb4639b0c1c75e1301eaba">P1Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20221231"
      id="Fact_97dc707b1d10474697439b95bb2ec3df">P2Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20231231"
      decimals="3"
      id="Fact_8fa2cac5a1c74ecf84fd6a80931c7677"
      unitRef="U006">0.044</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20221231"
      decimals="3"
      id="Fact_4fd34a15bad947d78f43be295d9c25f7"
      unitRef="U006">0.045</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_5506cde2ef1549d78d0c07d838263a31">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The maturity of the Company&#x2019;s operating lease liabilities are as follows (in thousands):&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2024&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;985&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2025&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;713&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2026&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;22&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total undiscounted lease payments&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,720&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Less imputed interest&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;71&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 88%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total lease liabilities&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,649&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="c20231231"
      decimals="-3"
      id="Fact_dc4ccb714281401084a770ba49b6fd45"
      unitRef="U001">985000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f3e387a15d764f1cac7690873699a1f3"
      unitRef="U001">713000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ef9b28face5a4e0699119f2688590981"
      unitRef="U001">22000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_80262fe777ea405d83dcb7aafb385467"
      unitRef="U001">1720000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7c75710e0180418ab0f5c62c619f0c05"
      unitRef="U001">71000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="c20231231"
      decimals="-3"
      id="Fact_78030fafba1143a3a130ce4c8b666e02"
      unitRef="U001">1649000</us-gaap:OperatingLeaseLiability>
    <us-gaap:QuarterlyFinancialInformationTextBlock
      contextRef="c20230101to20231231"
      id="Text_e58080c8e8e74a9f8fdb44ee77736a6a">
&lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;15. Quarterly results of operations (unaudited)&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our quarterly results of operations for 2023
      and 2022 are as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Quarter Ended&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands, except per share amounts)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;March 31&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;June 30&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;September 30&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;22,270&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;19,906&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,190&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;13,265&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,255&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,858&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,916&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,371&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income (loss)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,139&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;765&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;906&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(62&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.32&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.08&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.09&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.01&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.31&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.08&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.09&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.01&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,702&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,623&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,856&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,958&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,566&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;5,434&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,193&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,219&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net (loss) income&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(4,348&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(2,376&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;528&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;260&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net (loss) income per common share:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.44&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.24&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.05&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.03&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.44&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.24&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.05&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.03&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock
      contextRef="c20230101to20231231"
      id="Text_955f2bb3e42647958280ecce3bf167e6">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Our quarterly results of operations for 2023
      and 2022 are as follows:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Quarter Ended&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div style="text-align: left; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands, except per share amounts)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;March 31&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;June 30&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;September 30&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;December 31&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;22,270&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;19,906&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,190&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;13,265&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,255&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,858&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,916&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;6,371&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income (loss)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,139&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;765&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;906&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(62&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.32&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.08&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.09&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.01&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.31&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.08&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.09&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.01&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2022:&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,702&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;12,623&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,856&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,958&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,566&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;5,434&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,193&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,219&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net (loss) income&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(4,348&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(2,376&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;528&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;260&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net (loss) income per common share:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.44&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.24&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.05&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.03&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.44&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.24&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.05&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.03&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_0dccd5dc475c48e8856060f0a9391806"
      unitRef="U001">22270000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_e3b360b32f3f4ff1bab5c667a9d61ed7"
      unitRef="U001">19906000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230701to20230930"
      decimals="-3"
      id="Fact_b013f7efdb8043dd8d4e4138501784f0"
      unitRef="U001">17190000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20231001to20231231"
      decimals="-3"
      id="Fact_b05e2464cfbc4f22a3d537d72d9433fe"
      unitRef="U001">13265000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_b80a20b59a6143aca52fde0b659ac92c"
      unitRef="U001">12255000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_5991b08069924663b195d281ce2efbb4"
      unitRef="U001">10858000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20230701to20230930"
      decimals="-3"
      id="Fact_7e2d39a4fd294059a3bb06b792596131"
      unitRef="U001">8916000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20231001to20231231"
      decimals="-3"
      id="Fact_50536bc5f555477489a4e68b8e1dfd39"
      unitRef="U001">6371000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_54405cbd304d44c78157267179887a01"
      unitRef="U001">3139000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230401to20230630"
      decimals="-3"
      id="Fact_83ffeb62d65b485ab56cea980497e46b"
      unitRef="U001">765000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230701to20230930"
      decimals="-3"
      id="Fact_00eaae7a12524022ad47bf3624d86dad"
      unitRef="U001">906000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20231001to20231231"
      decimals="-3"
      id="Fact_6b3bf519c831401695c5fc0ef1d77198"
      unitRef="U001">-62000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230101to20230331"
      decimals="2"
      id="Fact_a55e042639d84994baf3038fc2c8cc35"
      unitRef="U003">0.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230401to20230630"
      decimals="2"
      id="Fact_e4dd4379a8c34fa7869210507f5ee7f6"
      unitRef="U003">0.08</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230701to20230930"
      decimals="2"
      id="Fact_9b5e1e701a784e529b896ff9d581b579"
      unitRef="U003">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20231001to20231231"
      decimals="2"
      id="Fact_eb8bb6d6968545a89dd4f4eb66252adb"
      unitRef="U003">-0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230101to20230331"
      decimals="2"
      id="Fact_4d79797d2ad34965901784a4e69f9cfa"
      unitRef="U003">0.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230401to20230630"
      decimals="2"
      id="Fact_871cf830a2d6425fab4d3dfcc465cfdd"
      unitRef="U003">0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230701to20230930"
      decimals="2"
      id="Fact_b55e65b4cb594160a91f6b05b4952009"
      unitRef="U003">0.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20231001to20231231"
      decimals="2"
      id="Fact_765b9f2ed5fe4926aa13e910a27a8fbd"
      unitRef="U003">-0.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20220331"
      decimals="-3"
      id="Fact_fbe22e77b0554ec890525d5fc549e324"
      unitRef="U001">9702000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220401to20220630"
      decimals="-3"
      id="Fact_e2a4a3b53f3d489ba3e672383012055e"
      unitRef="U001">12623000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220701to20220930"
      decimals="-3"
      id="Fact_5f5a330517a3427d93aa161d3fd1dc30"
      unitRef="U001">17856000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20221001to20221231"
      decimals="-3"
      id="Fact_fda2fdd38acf41dda340e444435080ea"
      unitRef="U001">17958000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="c20220101to20220331"
      decimals="-3"
      id="Fact_a9be487c06dd45e5b0b3f5b0609ebd07"
      unitRef="U001">2566000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20220401to20220630"
      decimals="-3"
      id="Fact_26ae525ca6814bedb95af957b4a61e28"
      unitRef="U001">5434000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20220701to20220930"
      decimals="-3"
      id="Fact_2f2f591b0b3641d88ce52d88f9aecb01"
      unitRef="U001">8193000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20221001to20221231"
      decimals="-3"
      id="Fact_281f1a67f98c4b149e7d6d8eca5dfcfd"
      unitRef="U001">8219000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="c20220101to20220331"
      decimals="-3"
      id="Fact_9f64911376df4da885b1d251c3988e70"
      unitRef="U001">-4348000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220401to20220630"
      decimals="-3"
      id="Fact_bcec2fd2b75e4ceb8e95b69dcea10681"
      unitRef="U001">-2376000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20220701to20220930"
      decimals="-3"
      id="Fact_72b5267ac20f40ee8e633c2a84e74774"
      unitRef="U001">528000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20221001to20221231"
      decimals="-3"
      id="Fact_e9c30c4e67854ea4a458d319ca5e53df"
      unitRef="U001">260000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20220101to20220331"
      decimals="2"
      id="Fact_50d0d8d0a1044802b43e477ddb4f1613"
      unitRef="U003">-0.44</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20220401to20220630"
      decimals="2"
      id="Fact_9edc5c9e9ae6405e878521b9259508cd"
      unitRef="U003">-0.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20220701to20220930"
      decimals="2"
      id="Fact_467239ec2b5b4f588380dece11c4a8a5"
      unitRef="U003">0.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20221001to20221231"
      decimals="2"
      id="Fact_1800303ad7d94b15a2d0460d8e460c6a"
      unitRef="U003">0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20220101to20220331"
      decimals="2"
      id="Fact_1ab7b4688fc7466ea7972d54a9aa12e5"
      unitRef="U003">-0.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20220401to20220630"
      decimals="2"
      id="Fact_eec2377373b14dc08be3e23047328c86"
      unitRef="U003">-0.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20220701to20220930"
      decimals="2"
      id="Fact_dfe1a2ee1c204bb7b83fe094daf81e6b"
      unitRef="U003">0.05</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20221001to20221231"
      decimals="2"
      id="Fact_d4525e3fa74d439a9e20ef350d85be22"
      unitRef="U003">0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="c20230101to20231231"
      id="Text_122bd8032f414168a8461c75a6f4dea2">
&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify; font-weight: bold;"&gt;16. Related party transactions&lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; text-align: justify;"&gt;One of the Company&#x2019;s directors serves as President and Chief Executive Officer of The One Group Hospitality, Inc.&#160; The
        Company sold various food service technology products to The One Group Hospitality, Inc. on an arms&#x2019; length basis totaling $246 thousand
        and $37 thousand in 2023 and 2022, respectively.&#160; The Company&#x2019;s accounts receivable from The One Group Hospitality, Inc. amounted to $34 thousand and $4 thousand in 2023 and
        2022, respectively.&lt;/div&gt;
</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember"
      decimals="-3"
      id="Fact_438794cc1e48408985e61f1b0c6b0717"
      unitRef="U001">246000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20220101to20221231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember"
      decimals="-3"
      id="Fact_8a4965810f6a419a849d2434570c7105"
      unitRef="U001">37000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20231231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember"
      decimals="-3"
      id="Fact_ca619ae519fe4fe1aad2fbbc2ff9b145"
      unitRef="U001">34000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20221231_CounterpartyNameAxis_TheOneGroupHospitalityIncMember_RelatedPartyTransactionsByRelatedPartyAxis_RelatedPartyMember"
      decimals="-3"
      id="Fact_84b026bf75514b54ae250101d056dff4"
      unitRef="U001">4000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="c20230101to20231231"
      id="Text_7a0238212f9f45698df40ad2fc23f0c5">
&lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;17. Subsequent events&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Company has evaluated all events or transactions that occurred up to the date the consolidated financial statements were available to issue.&#160; Based upon this review,
      the Company did not identify any subsequent events that would have required adjustment or disclosure in the consolidated financial statements.&lt;/div&gt;
</us-gaap:SubsequentEventsTextBlock>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Fact_fad0c556cf5042e4b75196fd21a8669a"
          xlink:label="Fact_fad0c556cf5042e4b75196fd21a8669a"
          xlink:type="locator"/>
        <link:footnote id="Foot_42b55853fb414ccdba8ab0b20970caa0" xlink:label="Foot_42b55853fb414ccdba8ab0b20970caa0" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">weighted average grant stock price per share</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_fad0c556cf5042e4b75196fd21a8669a"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_93bd76dcbd614e47a8964e9d97839cf1"
          xlink:label="Fact_93bd76dcbd614e47a8964e9d97839cf1"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_93bd76dcbd614e47a8964e9d97839cf1"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_02b5def163b84a429cc557c62b9e969e"
          xlink:label="Fact_02b5def163b84a429cc557c62b9e969e"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_02b5def163b84a429cc557c62b9e969e"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_d6cdddb9785d467d91882a103c9731d1"
          xlink:label="Fact_d6cdddb9785d467d91882a103c9731d1"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_d6cdddb9785d467d91882a103c9731d1"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_0a674bb3a8d84a07b3b140408e135934"
          xlink:label="Fact_0a674bb3a8d84a07b3b140408e135934"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_0a674bb3a8d84a07b3b140408e135934"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_72baa35d008d403ab3802974b4dfb21b"
          xlink:label="Fact_72baa35d008d403ab3802974b4dfb21b"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_72baa35d008d403ab3802974b4dfb21b"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_68918c595b9546dd8b7ee89524ee2c58"
          xlink:label="Fact_68918c595b9546dd8b7ee89524ee2c58"
          xlink:type="locator"/>
        <link:footnote id="Foot_02c9893d755d46e09c2c806bd0739d14" xlink:label="Foot_02c9893d755d46e09c2c806bd0739d14" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">weighted average exercise price per share</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_68918c595b9546dd8b7ee89524ee2c58"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_7da67e0fdc4f4416990d4f3a3b740abf"
          xlink:label="Fact_7da67e0fdc4f4416990d4f3a3b740abf"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_7da67e0fdc4f4416990d4f3a3b740abf"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_58e707c45fd543948cb01964e8775315"
          xlink:label="Fact_58e707c45fd543948cb01964e8775315"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_58e707c45fd543948cb01964e8775315"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_cba63fe248ca49f99baba4cc7796d1aa"
          xlink:label="Fact_cba63fe248ca49f99baba4cc7796d1aa"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_cba63fe248ca49f99baba4cc7796d1aa"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_5fc82a9bb9054b9ba940bab36fd33ae5"
          xlink:label="Fact_5fc82a9bb9054b9ba940bab36fd33ae5"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_5fc82a9bb9054b9ba940bab36fd33ae5"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_6a3560b0ebaa4e579a2b9eae7f681730"
          xlink:label="Fact_6a3560b0ebaa4e579a2b9eae7f681730"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_6a3560b0ebaa4e579a2b9eae7f681730"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_aa335ec88d4748928cc6d03b6b2bc4e9"
          xlink:label="Fact_aa335ec88d4748928cc6d03b6b2bc4e9"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_aa335ec88d4748928cc6d03b6b2bc4e9"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_43c14488eea84beb979729a6a9d2ae66"
          xlink:label="Fact_43c14488eea84beb979729a6a9d2ae66"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_43c14488eea84beb979729a6a9d2ae66"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_70d014c4d26a44bf9e3975e4a7a520e6"
          xlink:label="Fact_70d014c4d26a44bf9e3975e4a7a520e6"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_70d014c4d26a44bf9e3975e4a7a520e6"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_99abf1a8c10d40528a4910072e315749"
          xlink:label="Fact_99abf1a8c10d40528a4910072e315749"
          xlink:type="locator"/>
        <link:footnote id="Foot_ed18f58ee254452faf20859044f9d9f9" xlink:label="Foot_ed18f58ee254452faf20859044f9d9f9" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">weighted-average contractual remaining term in years</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_99abf1a8c10d40528a4910072e315749"
          xlink:to="Foot_ed18f58ee254452faf20859044f9d9f9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_7de00f619f8e474aa10d9a9f4fc97810"
          xlink:label="Fact_7de00f619f8e474aa10d9a9f4fc97810"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_7de00f619f8e474aa10d9a9f4fc97810"
          xlink:to="Foot_ed18f58ee254452faf20859044f9d9f9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_f3cf1b4ba784456295d8021a47307be1"
          xlink:label="Fact_f3cf1b4ba784456295d8021a47307be1"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_f3cf1b4ba784456295d8021a47307be1"
          xlink:to="Foot_ed18f58ee254452faf20859044f9d9f9"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
