<?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>
